Entendo que, para obter uma lista de clusters, pg_lscluster
preciso usar ferramentas como pg_createcluster
.
Mas eu uso initdb
e pg_ctl
para criar clusters. Eu sei que eles estão em execução porque posso acessar cada cluster (tenho três clusters) com arquivos psql -p [port]
.
Como obtenho uma lista de clusters criados com essas ferramentas?
Se você criou clusters usando
initdb
e os gerencia compg_ctl
, eles não aparecerão na saída depg_lsclusters
porquepg_lsclusters
procura especificamente clusters gerenciados pelapg_createcluster
ferramenta.Você ainda pode encontrar informações sobre os clusters criados usando
initdb
epg_ctl
consultando o diretório de dados e configurações do PostgreSQL.No caminho para o diretório de dados do PostgreSQL, existem subdiretórios nomeados de acordo com a versão do PostgreSQL e os nomes dos clusters.
Dentro de cada diretório de dados, há um
postgresql.conf
arquivo files.Mostrará todas as informações sobre o cluster
initdb
oupg_ctl
não mantenha nenhuma lista do sistema. O diretório do cluster pode ser criado (ou posteriormente movido) para um local completamente arbitrário, a critério do administrador. Os arquivos de configuração também podem estar em qualquer lugar. Esses utilitários simplesmente fazem o que lhes é ordenado.Procure-os normalmente para servidores desconhecidos:
show data_directory;
pg_createcluster
(epg_lscluster
,pg_ctlcluster
) são wrappers específicos do Ubuntu/Debianinitdb
epg_ctl
precisamente com o propósito de fornecer uma interface mais simples para gerenciar múltiplas instâncias do postgresql no mesmo host. Por exemplo, uma lista de clusters.