libpq C++ Binding

libpq++ es la API C++ API para Postgres. libpq++ es un conjunto de clases que permiten a los programas cliente conectarse al servidor de Postgres. Estas conexiones vienen de dos formas: una Clase de Base de Datos, y una clase de Objetos Grandes.

La Clase de Base de datos está pensada para manipular una base de datos. Puede usted enviar toda suerte de consultas SQL al servidor Postgres, y recibir las repuestas del servidor.

La Clase de Objetos Grandes está pensada para manipular los objetos grandes en la base de datos. Aunque una instancia de Objetos Grandes puede enviar consultas normales al servidor de Postgres, sólo está pensado para consultas sencillas que no devuelven ningún dato. Un objeto grande se debería ver como una cadena de un fichero. En el futuro, debería comportarse de forma muy próxima a las cadenas de fichero de C++ cin, cout y cerr.

Este capítulo está basado en la documentación para la librería C libpq. Al final de esta sección se listan tres programas cortos como ejemplo de programación con libpq++ (aunque no necesariamente de una buena programación). Hay muchos tipos de aplicaciones libpq++ en src/libpq++/examples, incluyendo el código fuente de los tres ejemplos expuestos en este capítulo.

Control e Inicialización

Variables de Entorno.

Las siguientes variables de entorno se pueden utilizar para fijar variables de defecto para un entorno, y para evitar codificar nombres de la base de datos en un programa de aplicación:

Nota

Diríjase a libpq para conseguir una lista completa de opciones de conexión.

Las siguientes variables de entorno se pueden utilizar para seleccionar valores de parámetros de conexión de defecto, que serán utilizados por PQconnectdb o PQsetdbLogin si no se ha especificado directamente ningún otro valor por parte del código que realiza la llamada. Son utilizables para impedir la codificación de nombres de base de datos en programas de aplicación sencillos.

Nota

libpq++ utiliza sólo variables de entorno o cadenas del tipo conninfo de PQconnectdb.

  • PGHOST fija el nombre del ordenador servidor de defecto. Si se especifica una cadena de longitud distinta de 0, se utiliza comunicación TCP/IP. Sin un nombre de host, libpq conectará utilizando una conexión (un socket) del dominio Unix local.

  • PGPORT fija el puerto de defecto o la extensión del fichero de conexión del dominio Unix local para la comunicación con el servidor Postgres.

  • PGDATABASE fija el nomber de la base de datos Postgres de defecto.

  • PGUSER fija el nombre de usuario utilizado para conectarse a la base de datos y para la autenticación.

  • PGPASSWORD fija la palabra de paso utilizada si el servidor solicita autenticación de la palabra de paso.

  • PGREALM fija el reino Kerberos a utilizar con Postgres, si es diferente del reino local. Si se fija PGREALM, las aplicaciones Postgres intentarán la autenticación con los servidores de este reino, y utilizarán ficheros de ticket separados, para impedir conflictos con los ficheros de ticket locales. Esta variable de entorno sólo se utiliza si el servidor selecciona la autenticación Kerberos.

  • PGOPTIONS fija opciones de tiempo de ejecución adicionales para el servidor de Postgres.

  • PGTTY fija el fichero o tty al cual el servidor enviará los mensajes de seguimiento de la ejecución.

Las siguientes variables de entorno se pueden utilizar para especificar el comportamiento de defecto para los usuarios para cada sesión de Postgres:

  • PGDATESTYLE fija el estilo de defecto de la representación de fecha/hora.

  • PGTZ fija la zona horaria de defecto.

Las siguientes variables de entorno se pueden utilizar para especificar el comportamiento interno de defecto para cada sesion de Postgres:

  • PGGEQO fija el modo de defecto para el optimizador genérico.

Encontrará información sobre los valores correctos de estas variables de entorno en el comando SET de SQL.