#postgresql #ubuntu #ubuntu-14.04 #postgresql-9.5
#postgresql #ubuntu #ubuntu-14.04 #postgresql-9.5
Вопрос:
При установке postgres9.5
на ubuntu 14.04
следующая команда останавливается с ошибкой: $sudo apt-get install postgresql-9.5 pgadmin3
Вот сообщение об ошибке:
Preparing to unpack .../postgresql-9.5_9.5.4-1.pgdg14.04 2_amd64.deb ...
* Stopping PostgreSQL 9.5 database server * Error: Config owner (postgres:105) and data owner (ubuntu:1000) do not match, and config owner is not root
[fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: warning: subprocess old pre-removal script returned error exit status 1
dpkg: trying script from the new package instead ...
* Stopping PostgreSQL 9.5 database server * Error: Config owner (postgres:105) and data owner (ubuntu:1000) do not match, and config owner is not root
[fail]
invoke-rc.d: initscript postgresql, action "stop" failed.
dpkg: error processing archive /var/cache/apt/archives/postgresql-9.5_9.5.4-1.pgdg14.04 2_amd64.deb (--unpack):
subprocess new pre-removal script returned error exit status 1
Errors were encountered while processing:
/var/cache/apt/archives/postgresql-9.5_9.5.4-1.pgdg14.04 2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Что вызывает ошибку?
Комментарии:
1. Вероятно, дело в том, что у вас уже есть кластер баз данных на вашем компьютере. Сначала вы должны его очистить.
2. sudo chown postgres:postgres <path_to_postgresql.conf>
3.
Sri
, проблема та же после chown.4.
Kamil G
, установлена предыдущая копия. Я хочу переустановить, потому что при запуске postgresql возникает та же ошибка. Postgres был установлен путем добавления pg 9.5 в список исходных текстов.apt-get remove
возвращает, что postgres установлен.
Ответ №1:
У меня была такая же проблема сегодня, и я думаю, это произошло потому, что я случайно (рекурсивно) изменил владельца на один каталог слишком высоко (болезненная ошибка, которую нужно исправить).
systemd[1]: Starting PostgreSQL Cluster 10-main...
postgresql@10-main[3231]: Error: Config owner (postgres:111) and data owner (root:0) do not match, and config owner is not root
systemd[1]: postgresql@10-main.service: Can't open PID file /var/run/postgresql/10-main.pid (yet?) after start: No such file or directory
systemd[1]: postgresql@10-main.service: Failed with result 'protocol'.
systemd[1]: Failed to start PostgreSQL Cluster 10-main.
Чтобы решить эту проблему, я убедился, что данные также принадлежат специальному пользователю postgres
, например :
cd /var/lib/
chown -R postgres postgresql/
После этого (как root) запуск основной службы работал корректно :
start postgresql@10-main
root@myhost:/var/lib/postgresql# systemctl status postgresql@10-main.service
● postgresql@10-main.service - PostgreSQL Cluster 10-main
Loaded: loaded (/lib/systemd/system/postgresql@.service; indirect; vendor preset: enabled)
Active: active (running) since Tue 2018-05-15 07:34:30 UTC; 4s ago
Process: 3333 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 10-main start (code=exited, status=0/SUCCESS)
Main PID: 3347 (postgres)
Tasks: 7 (limit: 1112)
CGroup: /system.slice/system-postgresql.slice/postgresql@10-main.service
├─3347 /usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf
├─3355 postgres: 10/main: checkpointer process
├─3356 postgres: 10/main: writer process
├─3357 postgres: 10/main: wal writer process
├─3358 postgres: 10/main: autovacuum launcher process
├─3359 postgres: 10/main: stats collector process
└─3360 postgres: 10/main: bgworker: logical replication launcher
Ответ №2:
Проблема, которую я нахожу, заключается в том, что права на /var
были случайно изменены на некорневые. После chown -R
включения /var
все postgres
начинает работать нормально.