Além do arquivo postgresql.conf já mencionado,
o PostgreSQL usa dois outros arquivos
de configuração editados manualmente, que controlam a autenticação
do cliente (seu uso é discutido em
Autenticação de cliente).
Por padrão, todos estes três arquivos de configuração são
armazenados no diretório de dados do agrupamento de bancos de dados.
Os parâmetros descritos nesta seção permitem que os arquivos de
configuração sejam colocados em outro lugar.
(Isto pode facilitar a administração.
Em particular, é geralmente mais fácil garantir que seja feita a
cópia de segurança dos arquivos de configuração quando estes
são mantidos separados.)
data_directory (string)
#Especifica o diretório a ser usado para armazenamento de dados. Este parâmetro só pode ser definido na ativação do servidor.
config_file (string)
#
Especifica o arquivo principal de configuração do servidor
(habitualmente chamado postgresql.conf).
Este parâmetro só pode ser definido na linha de comando do
postgres.
hba_file (string)
#
Especifica o arquivo de configuração para autenticação baseada
em hospedeiro
(habitualmente chamado pg_hba.conf).
Este parâmetro só pode ser definido na ativação do servidor.
ident_file (string)
#
Especifica o arquivo de configuração para mapeamento de nome
de usuário
(habitualmente chamado pg_ident.conf).
Este parâmetro só pode ser definido na ativação do servidor.
Veja também Mapas de nome de usuário.
external_pid_file (string)
#Especifica o nome de um arquivo de ID de processo (PID) adicional, que o servidor deve criar para uso por programas de administração do servidor. Este parâmetro só pode ser definido na ativação do servidor.
Em uma instalação padrão, nenhum dos parâmetros acima é definido
explicitamente.
Em vez disso, o diretório de dados é especificado pela opção de
linha de comando -D, ou pela variável de ambiente
PGDATA, e os arquivos de configuração são todos
encontrados no diretório de dados.
Se for desejado manter os arquivos de configuração em outro lugar
que não seja o diretório de dados, a opção de linha de comando do
postgres -D, ou a variável de
ambiente PGDATA, deverá apontar para o diretório
que contém os arquivos de configuração, e o parâmetro
data_directory deverá ser definido no arquivo
postgresql.conf (ou na linha de comando)
para mostrar onde o diretório de dados está realmente localizado.
Note-se que data_directory se sobrepõe a
-D e PGDATA para a localização
do diretório de dados, mas não para a localização dos arquivos
de configuração.
Se for desejado, pode-se especificar os nomes e localizações dos
arquivos de configuração individualmente, usando os parâmetros
config_file, hba_file e/ou
ident_file.
O parâmetro config_file só pode ser especificado
na linha de comando do postgres, mas os outros
parâmetros podem ser definidos no arquivo de configuração principal.
Se todos estes três parâmetros, mais data_directory,
forem definidos explicitamente, não será necessário especificar
a opção -D, nem a variável de ambiente
PGDATA.
Ao definir qualquer um desses parâmetros, o caminho relativo será
interpretado em relação ao diretório onde o
postgres está carregado.
Exemplo 19.1. Exemplo do tradutor
Consultas dos locais dos arquivos
Neste exemplo são mostrados os locais dos arquivos usando o
comando SHOW do psql
no sistema operacional Debian
12, onde o PostgreSQL 18 foi instalado
através de comandos apt-get install.
postgres=# SHOW data_directory;
data_directory
-----------------------------
/var/lib/postgresql/18/main
(1 linha)
postgres=# SHOW config_file;
config_file
-----------------------------------------
/etc/postgresql/18/main/postgresql.conf
(1 linha)
postgres=# SHOW hba_file;
hba_file
-------------------------------------
/etc/postgresql/18/main/pg_hba.conf
(1 linha)
postgres=# SHOW ident_file;
ident_file
---------------------------------------
/etc/postgresql/18/main/pg_ident.conf
(1 linha)
postgres=# SHOW external_pid_file;
external_pid_file
---------------------------------
/var/run/postgresql/18-main.pid
(1 linha)