Установка PostgreSQL под Debian

Я пытаюсь установить сервер PostgreSQL на сервер под управлением debian8.
Я установил пакет postgresql-9.5 с apt, но кажется, что отсутствуют программы.

Я пытался создать кластер, но initdb не может быть найден на сервере, я пытался как обычный пользователь, как postgres и даже root,

Когда я смотрю вверх /usr/lib/postgresql/9.5/bin/ нет initdb ни pg_ctl программа.

Есть ли какой-нибудь дополнительный пакет, который я забыл установить, чтобы он работал?

1 ответ

initdb является частью postgresql-9.5 пакет, предоставляемый pgdg, и он должен быть расположен там, где его нет.

$ dpkg -S initdb
postgresql-9.5: /usr/share/locale/it/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/zh_CN/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/ko/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/postgresql/9.5/man/man1/initdb.1.gz
postgresql-9.5: /usr/share/locale/fr/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/lib/postgresql/9.5/bin/initdb postgresql-9.5: /usr/share/locale/ja/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/pt_BR/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/cs/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/pl/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/ru/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/de/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/sv/LC_MESSAGES/initdb-9.5.mo
postgresql-9.5: /usr/share/locale/es/LC_MESSAGES/initdb-9.5.mo

Это не нормально, если ты не находишь initdb в каталоге, где это должно быть, так что вы можете проверить это дважды, и, возможно, рассмотреть возможность переустановки пакета.

Но в любом случае initdb не предназначен для непосредственного вызова в Debian, поэтому его нет в PATH. Пакеты Debian для postgres поставляются со слоем абстракции поверх всех этих команд, что позволяет одновременно запускать несколько версий postgres.

Здесь есть введение: https://wiki.debian.org/PostgreSql и подробности на страницах man для pg_wrapper, pg_ctlcluster, pg_createcluster, ... и нескольких других команд pg_*.

Кроме того, кластер по умолчанию автоматически создается при установке основного пакета postgresql, поэтому вам обычно даже не нужно его создавать, а база данных по умолчанию доступна сразу после установки, выполнив psql под postgres учетная запись.

Другие вопросы по тегам