Por que o `pg_lsclusters` não lista meu cluster do Postgres?


9
  1. Eu apt-getinstalei o Postgres 9.2.4 (usando PPA).
  2. Eu costumava pg_dropcluster --stop 9.2 mainremover o cluster de banco de dados padrão, porque pretendia criar um novo cluster em um volume SSD separado (um volume de armazenamento em bloco da Rackspace) que acabava de ser montado.
  3. Criei esse novo cluster cujos dados residem no meu volume SSD e o iniciei ( psmostra todos os processos normais do Postgres em execução para esse novo cluster e sou capaz de abrir um shell do Postgres e executar o SQL - ou seja, está funcionando bem). Agora, quando corro, pg_lsclustersnão há nenhum listado.

O maincluster listado bem antes de eu excluí-lo. Por que meu novo cluster não aparece, mesmo quando está em execução? Eu até reiniciei o servidor (apenas no caso).


Bem, como você criou o novo cluster? Além disso, host SO e versão? Ubuntu ...? Debian ...? De outros? (Não muitas distros utilizar pg_wrapperembora)
Craig Ringer

@ CraigRinger - eu usei initdb -D /the/dir/- acho que acabei de perceber que deveria ter usado pg_createcluster -d /the/dir/, não deveria? Ambos são iguais, menos quaisquer metadados extras que o Postgres armazena sobre o cluster? (Estou no Ubuntu 12.04.2)
orokusaki 6/06/2013

Uau, que na verdade é o caso - e que uma ferramenta incrível com uma sintaxe simples comopg_ctlcluster 9.2 mycluster start
orokusaki

Sim, você conseguiu - se você quiser usar, pg_wrapperprecisará fazê-lo de forma consistente.
Craig Ringer

@ CraigRinger - obrigado. Se você responder isso (eu fiz uma, mas não é demais), eu aceito a sua e removo a minha.
orokusaki

Respostas:


8

Para usar essas ferramentas comuns do postgres com um cluster, elas precisam ser usadas de forma consistente. Você usaria pg_createcluster -d /path/to/data, em vez de initdb. pg_createclusteradiciona o cluster postgres-commonpara facilitar essas operações úteis. É um invólucro, exatamente como pg_ctlclusternas ferramentas de nível inferior (por exemplo, initdbe pg_ctl), fornecendo acesso de um local para operar em todos os seus clusters. Ele também possui alguns padrões, como um local de log configurado automaticamente com base no nome do cluster. isso significa que você não precisa usá- -l /var/log/my-custom.loglo ao criar ou iniciar o servidor.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.