Problemy z rozwiązywaniem nazw są wskazywane przez org.postgresql.util.PSQLException
i nie powodują NPE. Źródłem problemu są w rzeczywistości parametry połączenia, a w szczególności sposób, w jaki podajesz poświadczenia użytkownika. Na pierwszy rzut oka wygląda to na błąd, ale jeśli szukasz szybkiego rozwiązania, możesz użyć właściwości adresu URL:
url = 'jdbc:postgresql://PG_SERVER_IP/db_name?user=PG_USER&password=PASSWORD'
lub argument właściwości:
properties = {
"user": "PG_USER",
"password": "PASSWORD",
"driver": "org.postgresql.Driver"
}