Donc, après avoir fait quelques recherches supplémentaires et demandé aux développeurs postgres, il semble qu'il n'est actuellement pas possible d'obtenir le code d'erreur de PQconnectdbParams().
Cela semble être une lacune de libpq lui-même qui n'essaye pas d'attribuer des codes d'erreur SQLState pour les erreurs qu'il détecte en interne (comme un nom d'hôte inconnu).
Cela semble être sur la liste des tâches de développement postgres mais ce n'est pas une priorité.
TL;DR :Si vous allez utiliser libpq, apprenez à vivre avec le message d'erreur textuel (quelle que soit la langue dans laquelle il est localisé).