Установка 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
учетная запись.