
Onde estão os arquivos postgresql.conf
e pg_hba.conf
em um servidor Linux executando o PostgreSQL 8.4 instalado a partir dos repositórios do Ubuntu?
Responder1
Procurar por "pg_hba.conf ubuntu" no Google oferece
https://help.ubuntu.com/community/PostgreSQL
que mostra a localização dos arquivos.
A documentação afirma o seguinte:
A autenticação do cliente é controlada por um arquivo de configuração, que tradicionalmente é denominado pg_hba.conf e é armazenado no diretório de dados do cluster de banco de dados. (HBA significa autenticação baseada em host.) Um arquivo pg_hba.conf padrão é instalado quando o diretório de dados é inicializado pelo initdb. Entretanto, é possível colocar o arquivo de configuração de autenticação em outro lugar; consulte o parâmetro de configuração hba_file.
Observe que dizarmazenado no diretório de dados do cluster de banco de dadose que é possível colocá-lo em outro lugar, através de um parâmetro de configuração. A documentação oficial não pode apontar para uma pasta específica porque a localização real depende de como o fabricante do sistema operacional e o administrador da máquina configuraram o PostgreSQL. Lembre-se de que o PostgreSQL oferece suporte a vários sistemas operacionais diferentes (e distribuições Linux).
ComoMostra de neutrinos, se você puder acessar seu servidor via psql, poderá solicitar que ele mostre a localização do arquivo.
Além disso, duas dicas:
- localizar irá ajudá-lo a encontrar arquivos cujo nome você conhece, mas não a localização
- Distribuições baseadas em Debian são colocadas em /usr/share/doc documentação sobre como elas configuram diferentes pacotes por padrão, tenho certeza que você encontrará em /usr/share/doc/postgresql-8.4 (ou talvez apenas postgresql) informações sobre o arquivos de configuração. Muito útil para ler caso tenham modificado algum comportamento padrão.
Responder2
Abra um prompt de comando.
> psql -U postgres
=# show hba_file;
=# show config_file
Quando eles alteram os nomes das configurações ou você deseja ver outra coisa.
=# show all;
Responder3
Possivelmente
/etc/postgresql/9.*/main
Responder4
Como disse Vinko, a localização depende da distribuição. Para adicionar à sua resposta:
Seu software de gerenciamento de pacotes lhe dirá onde estão os arquivos instalados por cada pacote (por exemplo: dpkg -L postgresql
).
Você também pode consultar o script de inicialização do serviço (normalmente /etc/init.d/postgresql
)