PostgreSQL 7.2.1 Documentation
Prev | Chapter 3. libpq++ - C++ Binding Library | Next

# 3.2. Control and Initialization

## 3.2.1. Environment Variables

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:

> Note: Refer to Section 1.10 for a complete list of available connection options.

The following environment variables can be used to select default connection parameter values, which will be used by `PQconnectdb` or `PQsetdbLogin` if no value is directly specified by the calling code. These are useful to avoid hard-coding database names into simple application programs.

> Note: `libpq++` uses only environment variables or `libpq`'s `PQconnectdb` `conninfo` style strings.

- `PGHOST` 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 `/tmp`).

- `PGPORT` sets the default TCP port number or Unix-domain socket file extension for communicating with the PostgreSQL backend.

- `PGDATABASE` sets the default PostgreSQL database name.

- `PGUSER` sets the user name used to connect to the database and for authentication.

- `PGPASSWORD` sets the password used if the backend demands password authentication. This is not recommended because the password can be read by others using the ps command with special options on some platforms.

- `PGREALM` sets the Kerberos realm to use with PostgreSQL, if it is different from the local realm. If `PGREALM` is set, PostgreSQL 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.

- `PGOPTIONS` sets additional runtime options for the PostgreSQL backend.

- `PGTTY` sets the file or tty on which debugging messages from the backend server are displayed.

The following environment variables can be used to specify user-level default behavior for every PostgreSQL session:

- `PGDATESTYLE` sets the default style of date/time representation.

- `PGTZ` sets the default time zone.

The following environment variables can be used to specify default internal behavior for every PostgreSQL session:

- `PGGEQO` sets the default mode for the genetic optimizer.

Refer to the SET SQL command for information on correct values for these environment variables.

Prev | Home | Next
libpq++ - C++ Binding Library | Up | libpq++ Classes