libpq

libpq es la interfaz para los programadores de aplicaciones en C para PostgreSQL. libpq es un conjunto de rutinas de biblioteca que permiten a los programas cliente trasladar consultas al servidor de Postgres y recibir el resultado de esas consultas. libpq es también el mecanismo subyacente para muchas otras interfaces de aplicaciones de PostgreSQL, incluyendo libpq++ (C++), libpgtcl (Tcl), Perl, y ecpg. Algunos aspectos del comportamiento de libpq le resultarán de importancia si quiere utilizar uno de estos paquetes.

Se incluyen tres programas cortos al final de esta sección para mostrarle como escribir programas que utilicen libpq. Hay varios ejemplos completos de aplicaciones con libpq en los siguientes directorios:

../src/test/regress
../src/test/examples
../src/bin/psql
   

Los programas cliente que utilicen libpq deberán incluir el fichero de cabeceras libpq-fe.h, y deberán enlazarse con la biblioteca libpq.

Funciones de Conexión a la Base de Datos

Las siguientes rutinas le permitirán realzar una conexión al servidor de Postgres. El programa de aplicación puede tener abiertas varias conexiones a servidores al mismo tiempo. (Una razón para hacer esto es acceder a más de una base de datos). Cada conexión se representa por un objeto PGconn que se obtiene de PQconnectdb () o PQsetdbLogin (). Nótese que estas funciones siempre devolverán un puntero a un objeto no nulo, a menos que se tenga demasiada poca memoria incluso para crear el objeto PGconn. Se debería llamar a la función PQstatus para comprobar si la conexión se ha realizado con éxito antes de enviar consultas a traves del objeto de conexión.

Los programadores de aplicaciones con libpq deberían ser cuidadosos de mantener la abstracción de PGconn. Utilice las funciones siguientes para tomar el contenido de PGconn. Prohiba las referencias directas a los campos de la estructura PGconn, ya que están sujetas a cambios en el futuro. (A partir de PostgreSQL 6.4, la definición de la estructura PGconn incluso ya no se proporciona en libpq-fe.h. Si tiene usted viejas aplicaciones que acceden a campos de PGconn directamente, puede usted conservarlas utilizando para incluirla libpq-int.h también, pero le recomendamos encarecidamente que fije pronto el código).