Я пытаюсь установить PostgreSQL 9.1 на сервер Debian Squeeze с помощью Backports, но после установки у меня нет папки / etc / postgresql, вместо этого у меня есть папка / etc / postgresql-common.
Что-то я делаю не так? Согласно Debian Wiki у меня должна быть папка /etc/postgresql/9.1/.
Я знаю, что эта проблема довольно старая, но я только что наткнулся на ту же проблему.
Просто присмотревшись к выходу apt-get install postgresql
Я заметил, что в выходных данных сначала говорится, что что-то не так с моими настройками локали, и в конечных отчетах кластер не может быть создан:
Error: The locale requested by the environment is invalid.
Error: could not create default cluster. Please create it manually with
pg_createcluster 9.1 main --start
or a similar command (see 'man pg_createcluster').
Чтобы окончательно решить проблему, рекомендуется (пере) установить локали и сбросить конфигурацию локали. Для меня (с использованием системы Debian 7.8) это было сделано:
apt-get install locales
или
dpkg-reconfigure locales
если он был установлен, то еще.
Наконец, переустановите всю систему сервера postgresql. Для меня это было
apt-get --purge remove postgresql postgresql-9.1 postgresql-common
apt-get install postgresql postgresql-9.1 postgresql-common
Надеюсь, это поможет кому-то в будущем разобраться в этом быстрее, чем я :-)
Я не хочу здесь покровительствовать, я просто создаю это.
Без инициализированного кластера это действительно просто пустой каталог. Скорее всего, у вас не создан кластер (см. Что в /var/lib/postgresql
).
Вы можете использовать (sudo) mkdir /etc/postgresql /etc/postgresql/9.1
создать каталог.
Затем используйте (sudo) pg_createcluster 9.1 main
для создания кластера БД (называемого основным). После создания у вас будет /etc/postgresql/9.1/main
каталог с настройками для этого кластера.
После того, как у вас есть кластер, используйте (sudo) pg_ctrlcluster 9.1 main start
чтобы запустить кластер.
У меня была та же проблема, и я не мог ее исправить, просто удалив и переустановив. Проблема была связана с тем, что postgresql - это метапакет. Исправление (как подробно здесь) должен был очистить все с помощью подстановочного знака:
apt-get --purge remove postgresql\*
и переустановка.
Я нашел каталог, который искал /var/lib/postgresql/
. Я нашел это с помощью следующего оператора SQL:
SELECT setting FROM pg_settings WHERE name = 'hba_file';
Веселая. У меня было такое однажды, когда я пытался aptitude install
пакет postgres, но удаление, очистка и установка с apt-get
действительно работал. Это проблема с пакетом. Сообщите об ошибке.
dpkg -c /var/cache/apt/archives/[PACKAGE-NAME].deb
показывает, что находится в пакете и что предполагается установить.
В противном случае вам может повезти с некоторыми пакетами ubuntu. И в итоге не сложно построить и с checkinstall
вы можете легко создавать свои собственные пакеты и удалять источники.