#include #include "/usr/local/pgsql/include/libpq-fe.h" PGconn *conn; PGresult *res; main(void) { int key; char *pghost=NULL; char *pgport=NULL; char *pgoptions=NULL; char *pgtty=NULL; char *dbName="test"; char *user="jmc"; char *pwd; printf("Type one of the following actions, and press RETURN.\n"); while(1) { (void)printf("Quit = Q Connect+status = C" " Disconnect+status = D Status_only = * : "); key = getchar(); if(key == 10) continue; switch(key) { case 'c' : case 'C' : conn = PQsetdbLogin(pghost, pgport, pgoptions, \ pgtty, dbName, user, pwd); break; case 'd' : case 'D' : PQfinish(conn); break; case 'q' : case 'Q' : return 0; default : break; } switch(PQstatus(conn)) { case CONNECTION_OK : (void)printf("\t---> OK\n"); break; case CONNECTION_BAD : (void)printf("\t---> BAD\n"); break; case CONNECTION_STARTED : (void)printf("\t---> STARTED\n"); break; case CONNECTION_MADE : (void)printf("\t---> MADE\n"); break; case CONNECTION_AWAITING_RESPONSE : (void)printf("\t---> AWAITING_RESPONSE\n"); break; case CONNECTION_AUTH_OK : (void)printf("\t---> AUTH_OK\n"); break; case CONNECTION_SETENV : (void)printf("\t---> SETENV\n"); break; default : printf("\t---> Default\n"); } key = getchar(); if(key != 10) ungetc(key, stdin); } return 0; }