Почему `pg_lsclusters` не перечисляет мой кластер Postgres?

9
  1. Я apt-getустановил Postgres 9.2.4 (используя PPA).
  2. Я использовал pg_dropcluster --stop 9.2 mainдля удаления кластер базы данных по умолчанию, потому что я намеревался создать новый кластер на отдельном томе SSD (том хранилища блоков Rackspace), который был только что смонтирован.
  3. Я создал этот новый кластер, данные которого находятся на томе моего SSD, и запустил его ( psпоказывает все обычные процессы Postgres, запущенные для этого нового кластера, и я могу открыть оболочку Postgres и запустить SQL - т. Е. Он работает нормально). Теперь, когда я бегу, pg_lsclustersтам никого нет.

mainКластер перечислен только штраф , прежде чем я его удалил. Почему не появляется мой новый кластер, даже когда он работает? Я даже перезагрузил сервер (на всякий случай).

orokusaki
источник
Ну как вы создали новый кластер? Кроме того, хост ОС и версия? Убунту ...? Debian ...? Другой? ( pg_wrapperХотя не многие дистрибутивы используют )
Крейг Рингер
@CraigRinger - я использовал initdb -D /the/dir/- я думаю, я только что понял, что я должен был использовать, pg_createcluster -d /the/dir/не так ли? Они оба одинаковы, за исключением каких-либо дополнительных метаданных, которые Postgres хранит о кластере? (Я нахожусь на Ubuntu 12.04.2)
orokusaki
Вау, действительно, так оно и есть - и какой замечательный инструмент с таким простым синтаксисом, какpg_ctlcluster 9.2 mycluster start
orokusaki
Да, вы получили это - если вы хотите использовать, pg_wrapperвы должны делать это последовательно.
Крейг Рингер
@CraigRinger - спасибо. Если вы положите это в ответ (я сделал один, но это не потрясающе), я приму ваш и уберу свой.
орокусаки

Ответы:

8

Чтобы использовать эти общие инструменты postgres с кластером, их необходимо использовать последовательно. Вы бы использовали pg_createcluster -d /path/to/data, а не initdb. pg_createclusterдобавляет кластер для postgres-commonоблегчения этих удобных операций. Это обертка, подобно pg_ctlclusterинструментам нижнего уровня (например, initdbи pg_ctl), предоставляющая доступ из одного места для работы на всех ваших кластерах. Он также имеет некоторые значения по умолчанию, например, автоматически настроенное местоположение журнала на основе имени кластера. это означает, что вам не нужно использовать его -l /var/log/my-custom.logпри создании или запуске сервера.

orokusaki
источник