Назад | Перейти на главную страницу

Несколько экземпляров Postgres после обновления Ubuntu

Только что обновил Ubuntu до последней версии, но теперь у меня есть два экземпляра Postgres.

8.4 и 9.1

Проблема в том, что я не знаю, на каком порту работает второй?

Как я могу определить, на каком порту работает ....

ЕСЛИ я запускаю cristi @ cristi-hp: / usr / share / postgresql-common $ sudo -u postgres psql psql (8.4.8) Введите «help» для получения справки.

как я могу использовать psql для 9.1?

оба кажутся запущенными: cristi @ cristi-hp: / usr / share / postgresql-common $ sudo /etc/init.d/postgresql start [sudo] пароль для cristi: * Запуск сервера базы данных PostgreSQL 8.4 [OK] * Запуск PostgreSQL 9.1 сервер базы данных

Спасибо...

Если вы просто хотите найти порт и / или схему того, что работает в данный момент, все, что вам нужно сделать, это запустить «pg_lsclusters»

rtreat@xdw1:~$ pg_lsclusters
Version Cluster   Port Status Owner    Data directory                     Log file
9.0     data1     5432 online postgres /var/lib/postgresql/9.0/data1      /var/log/postgresql/postgresql-9.0-data1.log
9.0     data2     5488 online postgres /var/lib/postgresql/9.0/data2      /var/log/postgresql/postgresql-9.0-data2.log
9.0     data3     5499 online postgres /var/lib/postgresql/9.0/data3      /var/log/postgresql/postgresql-9.0-data3.log
9.0     sanitize1 6544 online postgres /var/lib/postgresql/9.0/sanitize1  /var/log/postgresql/postgresql-9.0-sanitize1.log
9.0     sanitize2 6543 online postgres /var/lib/postgresql/9.0/sanitize2  /var/log/postgresql/postgresql-9.0-sanitize2.log

Ubuntu, будучи системой на основе Debian, может запускать несколько экземпляров Postgres, как вы видите. Обычно, если не настроено иное, первый запущенный экземпляр будет иметь порт Postgres по умолчанию, а каждый последующий экземпляр будет использовать следующий более высокий порт, если он доступен. Эти порты можно определить в файлах конфигурации в разделе /etc/postgresql/<version>/<cluster>/ так что они не меняются, если вам нужно, но мне действительно нужно. На самом деле беглый взгляд на /etc/init.d/postgresql также покажет вам, что вы можете устанавливать переменные среды через /etc/postgresql/<version>/<cluster>/environment.

Менеджеры пакетов были достаточно хороши, чтобы включить /usr/share/doc/postgresql-common/README.Debian.gz в котором есть раздел, в котором быстро объясняется, как осуществляется управление кластером, включая pg_lsclusters команда, которая предоставит вам версию Postgres и номер порта, а также другие полезные сведения о каждом настроенном кластере.

Чтобы ответить на вопрос в комментарии относительно остановки экземпляра ... Вы можете отредактировать start.conf файл под /etc/postgresql/<version>/<cluster>/ и измените его с авто к отключен или руководство. Процитировать значение по умолчанию start.conf сам файл ...

# Automatic startup configuration
# auto: automatically start/stop the cluster in the init script
# manual: do not start/stop in init scripts, but allow manual startup with
#         pg_ctlcluster
# disabled: do not allow manual startup with pg_ctlcluster (this can be easily
#           circumvented and is only meant to be a small protection for
#           accidents).