Acá te mando el código con el que podes conectarte a postgresql desde c en linux, y mostrar los datos.
espero que te sirva.
saludos
kicke
para compilarlo yo hago esto:
gcc -I /usr/local/pgsql/include -L /usr/local/pgsql/lib -o nombre_salida -lpq nombre_archivo.c
---------------------------------------------------
#include <stdio.h>
#include <libpq-fe.h>
static void
salir(PGconn *psql)
{
PQfinish(psql);
exit(1);
}
int
main()
{
PGconn *psql;
PGresult *result;
int nFields;
int i,j;
psql = PQconnectdb("hostaddr = '10.23.184.113' port = '5432' dbname = 'nombrebase' user = 'postgres' password = 'manager' connect_timeout = '10'");
if (PQstatus(psql) != CONNECTION_OK)
{
fprintf(stderr, "libpq error: PQstatus(psql) != CONNECTION_OK\n\n");
salir(psql);
}
result = PQexec(psql,"select * from empresa;");
nFields = PQnfields(result);
for (i = 0; i < nFields; i++)
printf("%-15s", PQfname(result, i));
printf("\n\n");
for (i = 0; i < PQntuples(result); i++)
{
for (j = 0; j < nFields; j++)
printf("%-15s", PQgetvalue(result, i, j));
printf("\n");
}
PQclear(result);
salir(psql);
system(". sshe.sh");
}