- Eu
apt-get
instalei o Postgres 9.2.4 (usando PPA). - Eu costumava
pg_dropcluster --stop 9.2 main
remover 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. - Criei esse novo cluster cujos dados residem no meu volume SSD e o iniciei (
ps
mostra 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_lsclusters
não há nenhum listado.
O main
cluster 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).
postgresql
postgresql-9.2
orokusaki
fonte
fonte
pg_wrapper
embora)initdb -D /the/dir/
- acho que acabei de perceber que deveria ter usadopg_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)pg_ctlcluster 9.2 mycluster start
pg_wrapper
precisará fazê-lo de forma consistente.Respostas:
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 deinitdb
.pg_createcluster
adiciona o clusterpostgres-common
para facilitar essas operações úteis. É um invólucro, exatamente comopg_ctlcluster
nas ferramentas de nível inferior (por exemplo,initdb
epg_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.log
lo ao criar ou iniciar o servidor.fonte