Je suis un débutant complet qui essaie d'apprendre PostgreSQL. J'essaie de me connecter à mon serveur postgres via un programme C en utilisant libpq.Impossible de se connecter au serveur PostgreSQL en utilisant libpq
Voici l'état du serveur:
home/planb/postgresql-9.2.4/Project status -o "-p 5555"
pg_ctl: server is running (PID: 2338)
/usr/local/pgsql/bin/postgres "-D" "/home/planb/postgresql-9.2.4/Project" "-p5555"
Quand je compile, j'utilise:
gcc -I /usr/local/pgsql/include -L /usr/local/pgsql/lib test.c -lpq
Quand je lance le programme avec ./a.out, il se lit comme suit:
Connection error
Je crois que je n'utilise pas PQconnectdb correctement, mais cela pourrait être autre chose.
Voici mon fichier C: test.c
#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>
int main(int argc, char* argv[])
{
//Start connection
PGconn* connection = PQconnectdb("hostaddr=168.105.127.3 port=5555 dbname=Project username=postgres password=password");
if (PQstatus(connection) ==CONNECTION_BAD)
{
printf("Connection error\n");
PQfinish(connection);
return -1; //Execution of the program will stop here
}
printf("Connection ok\n");
//End connection
PQfinish(connection);
printf("Disconnected\n");
return 0;
}
Toute entrée est très apprécié, merci!
Compris!
Je n'utilisais pas d'hostaddr valide. Je l'ai remplacé par:
host=localhost
J'ai également supprimé dbname = Project. Quand je lance, je reçois:
Msg: Connection ok
Disconnected
Pouvez-vous vous connectez en utilisant 'psql' avec ces paramètres? Que dit 'PQerrorMessage (connection)'? –
Merci pour la réponse rapide! Je peux connecter aucun problème avec psql. Le message d'erreur se lit comme suit: ne pouvait pas traduire le nom d'hôte « tcp: //0.0.0.0/ » pour répondre: Nom ou service non connu – kensw
Merci de me montrer PQerrorMessage, je suis en mesure de se connecter sans problème maintenant ! – kensw