Los problemas con la resolución de nombres se indican mediante org.postgresql.util.PSQLException
y no resultan en NPE. El origen del problema es en realidad una cadena de conexión y, en particular, la forma en que proporciona las credenciales de usuario. A primera vista, parece un error, pero si está buscando una solución rápida, puede usar las propiedades de la URL:
url = 'jdbc:postgresql://PG_SERVER_IP/db_name?user=PG_USER&password=PASSWORD'
o propiedades argumento:
properties = {
"user": "PG_USER",
"password": "PASSWORD",
"driver": "org.postgresql.Driver"
}