As seguintes variáveis de ambiente podem ser utilizadas para selecionar o valor padrão dos parâmetros de conexão a serem utilizados pelas funções PQconnectdb, PQsetdbLogin e PQsetdb, se não for especificado nenhum valor no código que faz a chamada. É útil para evitar prender as informações de conexão com o banco de dados ao código dos aplicativos cliente, por exemplo.
PGHOST define o nome do servidor de banco de dados. Se começar por uma barra, especifica uma comunicação no domínio Unix em vez de uma comunicação TCP/IP; o valor é então o nome do diretório no qual o arquivo de soquete é armazenado (na configuração padrão de instalação seria /tmp).
PGHOSTADDR especifica o endereço numérico de IP do servidor de banco de dados. Pode ser definido adicionalmente a PGHOST, para evitar o trabalho extra de procura no DNS. Para obter detalhes sobre como interagem, deve ser consultada a documentação relativa aos parâmetros da função PQconnectdb acima.
Quando não é definido PGHOST nem PGHOSTADDR, o comportamento padrão é conectar utilizando o soquete do domínio Unix local; em máquinas sem soquetes do domínio Unix, a libpq tenta a conexão com localhost.
PGPORT define o número da porta TCP, ou a extensão do arquivo de soquete do domínio Unix para a comunicação com o servidor PostgreSQL.
PGUSER define o nome de usuário utilizado para conectar ao banco de dados.
PGPASSWORD define a senha utilizada se o servidor requerer autenticação por senha. Esta variável de ambiente está em obsolescência por motivos de segurança; em seu lugar deve ser considerado o uso do arquivo ~/.pgpass (consulte a Seção 27.12).
PGSERVICE define o nome do serviço a ser procurado em pg_service.conf. Oferece uma forma abreviada para definir todos os parâmetros.
PGREALM define o realm do Kerberos a ser utilizado com o PostgreSQL, se for diferente do realm local. Se a variável de ambiente PGREALM for definida, os aplicativos da libpq tentam a autenticação com os servidores para este realm, e utilizam arquivos de tíquete separados para evitar conflito com arquivos de tíquete locais. Esta variável de ambiente somente é utilizada quando é escolhida pelo servidor a autenticação Kerberos.
PGOPTIONS define opções adicionais em tempo de execução para o servidor PostgreSQL.
PGSSLMODE determina se, e com que prioridade, será negociada uma conexão SSL com o servidor. Existem quatro modos: disable tenta apenas uma conexão SSL não criptografada; allow negocia, tentando primeiro uma conexão não-SSL e depois, se falhar, tenta uma conexão SSL; prefer (o padrão) negocia, tentando primeiro uma conexão SSL e depois, se falhar, uma conexão normal não-SSL; require somente tenta uma conexão SSL. Se o PostgreSQL for compilado sem suporte a SSL, require causa um erro, enquanto as opções allow e prefer são aceitas, mas na verdade a libpq não tenta uma conexão SSL.
PGREQUIRESSL define se a conexão deve ser feita através da SSL, ou não. Se for definida como "1", a libpq recusa a conexão se o servidor não aceitar uma conexão SSL (equivale a sslmode prefer). Esta opção está em obsolescência em favor da definição de sslmode, e somente está disponível quando o PostgreSQL é compilado com suporte a SSL.
PGCONNECT_TIMEOUT define o número máximo de segundos que a libpq aguarda na tentativa de conectar ao servidor PostgreSQL. Se não estiver definida, ou se for definida como zero, a libpq aguarda indefinidamente. Não se recomenda colocar o tempo para ficar aguardando inferior a 2 segundos.
As seguintes variáveis de ambiente podem ser utilizadas para especificar o comportamento padrão para cada sessão do PostgreSQL (Também devem ser vistas as maneiras de se definir o comportamento padrão por usuário e por banco de dados nos comandos ALTER USER e ALTER DATABASE).
PGDATESTYLE define o estilo padrão para a representação de data/hora (Equivale a SET datestyle TO ...).
PGTZ define a zona horária padrão. (Equivale a SET timezone TO ...).
PGCLIENTENCODING define a codificação padrão do conjunto de caracteres do cliente (Equivale a SET client_encoding TO ...).
PGGEQO define o modo padrão para o otimizador de comandos genético (Equivale a SET geqo TO ....)
Para obter informações sobre os valores corretos destas variáveis de ambiente, deve ser visto o comando SET do SQL.
As seguintes variáveis de ambiente determinam o comportamento interno da libpq; elas substituem os padrões de compilação.