<HTML ><HEAD ><TITLE >Control and Initialization</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="libpq++ - C++ Binding Library" HREF="index.html"><LINK REL="PREVIOUS" TITLE="libpq++ - C++ Binding Library" HREF="index.html"><LINK REL="NEXT" TITLE="libpq++ Classes" HREF="libpqpp-classes.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META NAME="creation" CONTENT="2002-11-27T04:23:11"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" ><SPAN CLASS="APPLICATION" >libpq++</SPAN > - C++ Binding Library</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="index.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="libpqpp-classes.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="libpqpp-init" >1.2. Control and Initialization</A ></H1 > <DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN28" >1.2.1. Environment Variables</A ></H2 > <P > The following environment variables can be used to set up default values for an environment and to avoid hard-coding database names into an application program: </P><DIV CLASS="NOTE" ><BLOCKQUOTE CLASS="NOTE" > <P ><B >Note: </B > Refer to libpq for a complete list of available connection options. </P > </BLOCKQUOTE ></DIV ><P> </P > <P > The following environment variables can be used to select default connection parameter values, which will be used by <TT CLASS="FUNCTION" >PQconnectdb</TT > or <TT CLASS="FUNCTION" >PQsetdbLogin</TT > if no value is directly specified by the calling code. These are useful to avoid hard-coding database names into simple application programs. </P><DIV CLASS="NOTE" ><BLOCKQUOTE CLASS="NOTE" > <P ><B >Note: </B > <TT CLASS="FILENAME" >libpq++</TT > uses only environment variables or <TT CLASS="FILENAME" >libpq</TT >'s <TT CLASS="FUNCTION" >PQconnectdb</TT > <TT CLASS="PARAMETER" ><I >conninfo</I ></TT > style strings. </P > </BLOCKQUOTE ></DIV ><P> <P ></P ></P><UL ><LI > <P > <TT CLASS="ENVAR" >PGHOST</TT > sets the default server name. If this begins with a slash, it specifies Unix-domain communication rather than TCP/IP communication; the value is the name of the directory in which the socket file is stored (default <TT CLASS="FILENAME" >/tmp</TT >). </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGPORT</TT > sets the default TCP port number or Unix-domain socket file extension for communicating with the <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > backend. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGDATABASE</TT > sets the default <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > database name. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGUSER</TT > sets the user name used to connect to the database and for authentication. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGPASSWORD</TT > sets the password used if the backend demands password authentication. This is deprecated; use <TT CLASS="ENVAR" >PGPASSWORDFILE</TT > instead. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGPASSWORDFILE</TT > sets the password file used if the backend demands password authentication. Refer to the libpq documentation for more details. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGREALM</TT > sets the Kerberos realm to use with <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN >, if it is different from the local realm. If <TT CLASS="ENVAR" >PGREALM</TT > is set, <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > applications will attempt authentication with servers for this realm and use separate ticket files to avoid conflicts with local ticket files. This environment variable is only used if Kerberos authentication is selected by the backend. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGOPTIONS</TT > sets additional run-time options for the <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > backend. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGTTY</TT > sets the file or <SPAN CLASS="ACRONYM" >tty</SPAN > on which debugging messages from the backend server are displayed. </P > </LI ></UL ><P> </P > <P > The following environment variables can be used to specify user-level default behavior for every <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > session: <P ></P ></P><UL ><LI > <P > <TT CLASS="ENVAR" >PGDATESTYLE</TT > sets the default style of date/time representation. </P > </LI ><LI > <P > <TT CLASS="ENVAR" >PGTZ</TT > sets the default time zone. </P > </LI ></UL ><P> </P > <P > The following environment variables can be used to specify default internal behavior for every <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > session: <P ></P ></P><UL ><LI > <P > <TT CLASS="ENVAR" >PGGEQO</TT > sets the default mode for the genetic optimizer. </P > </LI ></UL ><P> </P > <P > Refer to the <TT CLASS="COMMAND" >SET</TT > <SPAN CLASS="ACRONYM" >SQL</SPAN > command for information on correct values for these environment variables. </P > </DIV > </DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="index.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="libpqpp-classes.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><SPAN CLASS="APPLICATION" >libpq++</SPAN > - C++ Binding Library</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><SPAN CLASS="APPLICATION" >libpq++</SPAN > Classes</TD ></TR ></TABLE ></DIV ></BODY ></HTML >