Установка сервера Postgresql продолжает перестать работать из-за postgresql-распространенной-ошибки

Установка 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:

  1. Я обновил и попробовал еще раз, та же ошибка происходит.
  2. Я произвел чистку postgresql, связал пакеты и попытался установить обоих postgresql-8.4 и postgresql-9.1, в обоих случаях это перестало работать из-за зависимости к postgresql-common пакет.
1
задан 2 April 2014 в 15:14

1 ответ

Проблема состояла в том, что 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 пользователь вручную.

3
ответ дан 10 November 2019 в 19:25

Другие вопросы по тегам:

Похожие вопросы: