Установка postgresql сервера в сбоях Ubuntu 12.04. Казаться, происходить из-за неполной конфигурации postgresql-общего пакета. Я произвел чистку всех пакетов, связанных с postgresql, который попробовали для переустановки postgresql-общего пакета только. Все еще ошибка происходила.
Ошибка:
$ sudo apt-get install postgresql-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
postgresql-common
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/96.5 kB of archives.
After this operation, 442 kB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package postgresql-common.
(Reading database ... 176855 files and directories currently installed.)
Unpacking postgresql-common (from .../postgresql-common_129ubuntu1_all.deb) ...
Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Setting up postgresql-common (129ubuntu1) ...
adduser: The user `postgres' does not exist.
dpkg: error processing postgresql-common (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
postgresql-common
E: Sub-process /usr/bin/dpkg returned an error code (1)
Какая-либо идея, как преодолеть/решить это?
N.B:
postgresql-8.4
и postgresql-9.1
, в обоих случаях это перестало работать из-за зависимости к postgresql-common
пакет. Проблема состояла в том, что postgres
пользователь не становился созданным. (Похож на ошибку со сценариями конфигурации пакета, не уверенными, хотя) я тогда создал пользователя, вручную использующего:
sudo useradd -r -s /bin/false postgres
вышеупомянутая команда должна создать пользователя без корневого каталога. ( Любезность )
После этого я пытался установить снова, и она успешно выполнилась без любых проблем.
N.B:
Некоторые парни на канале IRC Ubuntu помогли мне с решением.
Обновление:
После перезапуска postgresql
сервер не был доступен, так попытался перезапустить postgresql
сервер и получил следующую ошибку:
$ sudo service postgresql restart
[sudo] password for username:
* Restarting PostgreSQL 8.4 database server
* The PostgreSQL server failed to start. Please check the log output:
2014-04-03 09:54:22 IST FATAL: could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
[fail]
Решенный это путем редактирования postgresql.conf
файл. Мы должны искать строку, которая начинается, который начинается unix_socket_directory
, и измените ее для чтения как следующее:
unix_socket_directory='/tmp'
Теперь запускают postgresql использование сервера:
sudo service postgresql start
проблема состояла в том, потому что
каталог по умолчанию для файлов блокировки в Ubuntu был изменен на/var/run/postgresql, который не является мировым перезаписываемым. Однако просто изменение полномочий записи на каталоге не работает; они сбрасываются, когда значение по умолчанию init сценарий работает.
Любезность: http://eclecticquill.com/2013/02/26/postgresql-fails-to-start-on-ubuntu-12-10/
Получил больше информации от этого ссылка :
, Но если Вы пробуете для выполнения экземпляра сервера PostgreSQL, принадлежавшего локальному пользователю, необходимо удостовериться, что каталог сокета Unix перезаписываем пользователем, который владеет серверным процессом PostgreSQL. Попробуйте:
unix_socket_directory = '/tmp'
Короче говоря:
Мы должны были сделать это, потому что мы создали postgres
пользователь вручную.