#include #include #include void do_exit(PGconn *conn) { PQfinish(conn); exit(1); } int main(int argc, char **argv) { /*declaration*/ const char *conninfo; printf("main() Started...\n"); /*read command line*/ if (argc > 1){ printf("main() argv[1]: %s\n", argv[1]); conninfo = argv[1]; }else{ printf("call ./main \n"); return 1; } /*connect to database*/ PGconn *conn = PQconnectdb(conninfo); if (PQstatus(conn) == CONNECTION_BAD) { fprintf(stderr, "Connection to database failed: %s\n", PQerrorMessage(conn)); do_exit(conn); }else if(PQstatus(conn)==CONNECTION_OK){ printf("main() connected to database\n"); }else{ printf("main() connection status NOT known\n"); } char *user = PQuser(conn); char *db_name = PQdb(conn); char *pswd = PQpass(conn); printf("User: %s\n", user); printf("Database name: %s\n", db_name); printf("Password: %s\n", pswd); /*retrive server of database using SQL statement*/ /*PGRES_TUPLS_OK is returned for a query that returns data*/ PGresult *res = PQexec(conn, "SELECT * FROM cars_cleanup"); if (PQresultStatus(res) != PGRES_TUPLES_OK) { printf("No data retrieved\n"); PQclear(res); do_exit(conn); } /*return the number of rows in the query result*/ int rows = PQntuples(res); for(int i=0; i