- Ich habe
apt-get
Postgres 9.2.4 installiert (mit PPA). - Ich habe
pg_dropcluster --stop 9.2 main
den Standarddatenbankcluster entfernt, weil ich beabsichtigte, einen neuen Cluster auf einem separaten SSD-Volume (einem Rackspace-Blockspeicher-Volume) zu erstellen, das gerade bereitgestellt wurde. - Ich habe diesen neuen Cluster erstellt, dessen Daten sich auf meinem SSD-Volume befinden, und ihn gestartet (
ps
zeigt alle normalen Postgres-Prozesse an, die für diesen neuen Cluster ausgeführt werden, und ich kann eine Postgres-Shell öffnen und SQL ausführen - dh sie läuft einwandfrei). Wenn ich jetzt laufe,pg_lsclusters
sind keine aufgelistet.
Der main
Cluster wurde gut aufgelistet, bevor ich ihn löschte. Warum wird mein neuer Cluster nicht angezeigt, selbst wenn er ausgeführt wird? Ich habe sogar den Server neu gestartet (nur für den Fall).
postgresql
postgresql-9.2
Orokusaki
quelle
quelle
pg_wrapper
jedoch)initdb -D /the/dir/
- Ich glaube, ich habe gerade gemerkt, dass ich hätte verwendenpg_createcluster -d /the/dir/
sollen , hätte ich nicht? Sind beide gleich, abzüglich der zusätzlichen Metadaten, die Postgres über den Cluster speichert? (Ich bin auf Ubuntu 12.04.2)pg_ctlcluster 9.2 mycluster start
pg_wrapper
willst, musst du es konsequent tun.Antworten:
Um diese allgemeinen Postgres-Tools mit einem Cluster verwenden zu können, müssen sie konsistent verwendet werden. Sie würden
pg_createcluster -d /path/to/data
anstelle von verwendeninitdb
.pg_createcluster
Fügt den Cluster hinzupostgres-common
, um diese praktischen Vorgänge zu vereinfachen. Es handelt sich genau wiepg_ctlcluster
bei den Tools der unteren Ebene (z. B.initdb
undpg_ctl
) um einen Wrapper, der den Zugriff von einem Ort aus auf alle Ihre Cluster ermöglicht. Es gibt auch einige Standardeinstellungen, z. B. einen automatisch konfigurierten Protokollspeicherort basierend auf dem Clusternamen. Dies bedeutet, dass Sie nicht verwenden müssen,-l /var/log/my-custom.log
wenn Sie den Server erstellen oder starten.quelle