I wrote a C-program for connecting to postgresSQL server and get the
data from the database.
The program is as fallows:-
Code: ( c )
#include
#include
#include "libpq-fe.h" /* libpq header file */
main()
{ char state_code[3]; char query_string[256]; /* holds
constructed SQL query */ PGconn *conn; /* holds
database connection */ PGresult *res; int i; conn = PQconnectdb("dbname=test");
connect to the database */ if (PQstatus(conn) == CONNECTION_BAD) /* did
the database connection fail? */ { fprintf(stderr, "Connection to database failed.\n");
fprintf(stderr,"%s", PQerrorMessage(conn)); exit(1); } printf("Enter a state code: ");
prompt user for a state code */ scanf("%2s", state_code); sprintf(query_string,
create an SQL query string */ "SELECT name \ FROM statename \ WHERE
code= '%s'", state_code); res = PQexec(conn, query_string); /* send
the query */ if (PQresultStatus(res) != PGRES_TUPLES_OK) /* did
the query fail? */ { fprintf(stderr, "SELECT query failed.\n"); PQclear(res);
PQfinish(conn); exit(1); } for (i = 0; i < PQntuples(res); i++) /*
through all rows returned */ printf("%s\n", PQgetvalue(res, i, 0)); /*
print the value returned */ PQclear(res); /* free result */
PQfinish(conn); /*
disconnect from the database */ return 0; }
I changed the postgresql.conf and pg_hba.conf files.
listen_addresses = '*' # what IP address(es) to listen on; #
comma-separatedlist of addresses; # defaults to 'localhost', '*' = all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100
----------------------------------------------------------------------------
# TYPE DATABASE USER CIDR-ADDRESS METHOD
local all all trust
# The same using local loopback TCP/IP connections.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 trust
every time I a getting the same error when I was trying to run the program:-
Connection to database failed.
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Thanks for reading this long mail.
could any one plz help me how to solve this problem...
Thanks & Regards...
Madhu.
On 10/15/07, Madhu Sudhana Rao <[email protected]> wrote:
> I wrote a C-program for connecting to postgresSQL server and get the
> data from the database.
> Connection to database failed.
> could not connect to server: No such file or directory
> Is the server running locally and accepting
> connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Is the server running? Does the log show anything unusual? Did you
change any of the unix_socket_* configuration parameters? Do you have
a database named test (although that would give a different error
message). Can you connect with psql?
As far as libpq is concerned, the best thing to do is start with is
the libpq example code and work from there.
Also, sorry to be picky about your code, but your conditional is:
if (PQstatus(conn) == CONNECTION_BAD)
It's generally better to make the conditional check for an alteration
to the expected result:
if (PQstatus(conn) != CONNECTION_OK)
It just makes it easier to understand what should've happened.
Jonah H. Harris, Sr. Software Architect | phone: 732.331.1324
EnterpriseDB Corporation | fax: 732.331.1301
499 Thornall Street, 2nd Floor | [email protected]
Edison, NJ 08837 | http://www.enterprisedb.com/
Пользовательское соглашение
Лицензионное соглашение
Лицензионное соглашение (при использовании в составе облачных сервисов)
Лицензия PostgreSQL
Кодекс поведения сообщества PostgreSQL