- J'ai
apt-get
installé Postgres 9.2.4 (en utilisant PPA). - J'avais l'habitude
pg_dropcluster --stop 9.2 main
de supprimer le cluster de base de données par défaut, car j'avais l'intention de créer un nouveau cluster sur un volume SSD distinct (un volume de stockage de bloc Rackspace) qui venait d'être monté. - J'ai créé ce nouveau cluster dont les données résident sur mon volume SSD et l'ai démarré (
ps
montre tous les processus Postgres normaux en cours d'exécution pour ce nouveau cluster et je suis capable d'ouvrir un shell Postgres et d'exécuter SQL - c'est-à-dire qu'il fonctionne correctement). Maintenant, quand je cours,pg_lsclusters
il n'y en a aucun.
Le main
cluster était bien répertorié avant de le supprimer. Pourquoi mon nouveau cluster n'apparaît-il pas, même lorsqu'il est en cours d'exécution? J'ai même redémarré le serveur (juste au cas où).
postgresql
postgresql-9.2
orokusaki
la source
la source
pg_wrapper
cependant)initdb -D /the/dir/
- Je pense que je viens de réaliser que j'aurais dû utiliserpg_createcluster -d /the/dir/
, non? Sont-ils tous les deux identiques, moins les métadonnées supplémentaires que Postgres stocke sur le cluster? (Je suis sur Ubuntu 12.04.2)pg_ctlcluster 9.2 mycluster start
pg_wrapper
vous devez le faire de manière cohérente.Réponses:
Pour utiliser ces outils communs postgres avec un cluster, ils doivent être utilisés de manière cohérente. Vous utiliseriez
pg_createcluster -d /path/to/data
, au lieu deinitdb
.pg_createcluster
ajoute le cluster àpostgres-common
afin de faciliter ces opérations pratiques. C'est un wrapper, tout commepg_ctlcluster
, autour des outils de niveau inférieur (par exemple,initdb
etpg_ctl
), fournissant un accès d'un endroit à fonctionner sur tous vos clusters. Il a également des valeurs par défaut, comme un emplacement de journal configuré automatiquement en fonction du nom du cluster. cela signifie que vous n'avez pas à utiliser-l /var/log/my-custom.log
lorsque vous créez ou démarrez le serveur.la source