O "diretório onde o postgresql irá manter todos os bancos de dados " (e configuração) é chamado de "diretório de dados" e corresponde ao que o PostgreSQL chama (um pouco confuso) de "cluster de banco de dados", que não está relacionado à computação distribuída, significa apenas um grupo de bancos de dados e objetos relacionados gerenciados por um PostgreSQL servidor.
A localização do diretório de dados depende da distribuição. Se você instalar a partir da fonte, o padrão é
/usr/local/pgsql/data
:
Em termos de sistema de arquivos, um cluster de banco de dados será um único diretório sob o qual todos os dados serão armazenados. Chamamos isso de diretório de dados ou área de dados. Você decide onde armazenar seus dados. Não há padrão, embora locais como /usr/local/pgsql/data ou/var/lib/pgsql/data sejam populares.(ref)
Além disso, uma instância de um servidor PostgreSQL em execução é associada a um cluster; a localização de seu diretório de dados pode ser passada para o daemon do servidor ("postmaster" ou "postgres") no
-D
opção de linha de comando ou pelo PGDATA
variável de ambiente (geralmente no escopo do usuário em execução, normalmente postgres
). Normalmente, você pode ver o servidor em execução com algo assim:[[email protected] ~]# ps auxw | grep postgres | grep -- -D
postgres 1535 0.0 0.1 39768 1584 ? S May17 0:23 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
Observe que é possível, embora não muito frequente, executar duas instâncias do mesmo servidor PostgreSQL (mesmos binários, processos diferentes) que atendem a diferentes "clusters" (diretórios de dados). É claro que cada instância escutaria em sua própria porta TCP/IP.