#include <libpq-fe.h> #include <strings.h> int main(int argc, char** argv) { PGconn* conn; PGresult* result; int i; char* dbname = "tutorial"; conn = PQsetdb(NULL, NULL, NULL, NULL, dbname); if (PQstatus(conn) == CONNECTION_BAD) { fprintf(stderr, "Connection to database '%s' failed.\n", dbname); fprintf(stderr, "%s", PQerrorMessage(conn)); PQfinish(conn); exit(1); } result = PQexec(conn, "select * from cities"); if ((!result) || (PGRES_TUPLES_OK != PQresultStatus(result))) { fprintf(stderr, "Error sending query.\nDetailed report: %s\n",> PQerrorMessage(conn)); PQfinish(conn); exit(1); } printf("name\t\tpopulation\taltitude\n\n"); for (i = PQntuples(result)-1; i >= 0; i--) { printf("%s\t%s\t\t%s\n", PQgetvalue(result,i,0), PQgetvalue(result,i,1), PQgetvalue(result,i,2)); } }