Я пытаюсь установить сервер 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 и подробности в man-страницах для pg_wrapper, pg_ctlcluster, pg_createcluster, ... и некоторых других команд pg_ *.
Кроме того, кластер по умолчанию автоматически создается при установке основного пакета postgresql, поэтому обычно вы не Мне даже нужно создать его, а база данных по умолчанию доступна сразу после установки, запустив psql
под учетной записью postgres
.