Я пытаюсь установить сервер 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
учетная запись.