Pourquoi `pg_lsclusters` ne répertorie pas mon cluster Postgres?

9
  1. J'ai apt-getinstallé Postgres 9.2.4 (en utilisant PPA).
  2. J'avais l'habitude pg_dropcluster --stop 9.2 mainde 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é.
  3. J'ai créé ce nouveau cluster dont les données résident sur mon volume SSD et l'ai démarré ( psmontre 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_lsclustersil n'y en a aucun.

Le maincluster é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ù).

orokusaki
la source
Eh bien, comment avez-vous créé le nouveau cluster? En outre, l'hôte OS et la version? Ubuntu ...? Debian ...? Autre? (Pas beaucoup de distributions utilisent pg_wrappercependant)
Craig Ringer
@CraigRinger - J'ai utilisé initdb -D /the/dir/- Je pense que je viens de réaliser que j'aurais dû utiliser pg_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)
orokusaki
Wow, en effet c'est le cas - et quel outil génial avec une syntaxe aussi simple quepg_ctlcluster 9.2 mycluster start
orokusaki
Oui, vous l'avez compris - si vous voulez l'utiliser, pg_wrappervous devez le faire de manière cohérente.
Craig Ringer
@CraigRinger - merci. Si vous mettez cela dans une réponse (j'en ai fait une, mais ce n'est pas terrible), j'accepterai la vôtre et j'enlèverai la mienne.
orokusaki

Réponses:

8

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 de initdb. pg_createclusterajoute le cluster à postgres-commonafin de faciliter ces opérations pratiques. C'est un wrapper, tout comme pg_ctlcluster, autour des outils de niveau inférieur (par exemple, initdbet pg_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.loglorsque vous créez ou démarrez le serveur.

orokusaki
la source