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

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

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

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

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

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

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 и подробности на страницах руководства для pg_wrapper, pg_ctlcluster, pg_createcluster, ... и некоторых других команд pg_ *.

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