首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在ubuntu上安装postgresql 10

无法在ubuntu上安装postgresql 10
EN

Ask Ubuntu用户
提问于 2018-01-28 10:02:37
回答 1查看 6.7K关注 0票数 2

我正在执行这个命令来安装ubuntu14.04中的postgesql

代码语言:javascript
复制
sudo apt-get install postgresql postgresql-contrib

我在安装过程中遇到了一个错误:

代码语言:javascript
复制
Failed to issue method call: Unit postgresql@10-main.service failed to load: No such file or directory. See system logs and 'systemctl status postgresql@10-main.service' for details

以下是完整的日志:

代码语言:javascript
复制
Creating config file /etc/postgresql-common/createcluster.conf with new version
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
  en_us
Removing obsolete dictionary files:
 * No PostgreSQL clusters exist; see "man pg_createcluster"
Processing triggers for ureadahead (0.100.0-16) ...
Setting up postgresql-10 (10.1-1.pgdg14.04+1) ...
Creating new PostgreSQL cluster 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_IN".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/10/main ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    /usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main -l logfile start

Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: using /usr/share/postgresql/10/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
 * Starting PostgreSQL 10 database server                                                                                                               * Failed to issue method call: Unit postgresql@10-main.service failed to load: No such file or directory. See system logs and 'systemctl status postgresql@10-main.service' for details.
                                                                                                                                                [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing package postgresql-10 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of postgresql:
 postgresql depends on postgresql-10; however:
  Package postgresql-10 is not configured yet.

dpkg: error processing package postgresql (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of postgresql-contrib:
 postgresql-contrib depends on postgresql-contrib-10; however:
  Package postgresql-contrib-10 is not installed.
  Package postgresql-10 which provides postgresql-contrib-10 is not configured yet.

dpkg: error processing package postgresql-contrib (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          No apport report written because the error message indicates its a followup error from a previous failure.
                                                             Errors were encountered while processing:
 postgresql-10
 postgresql
 postgresql-contrib

这是systemctl status postgresql@10-main.service的输出

代码语言:javascript
复制
ajit@AjitSoman:~$ systemctl status postgresql@10-main.service
Failed to issue method call: No such interface 'org.freedesktop.DBus.Properties' on object at path /org/freedesktop/systemd1/unit/postgresql_4010_2dmain_2eservice
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-02-12 11:39:54

postgresql-fails-to-reinstall-after-upgrading-ubuntu-12-04-to-14-04中被接受的答案对我是有效的。

为了便于参考,我将下面的链接中的说明粘贴起来:

检查/etc/init.d/postgresql文件,它使用/usr/share/postgresql-common/init.d-functions。此文件执行/usr/bin/pg_ctlcluster以启动和停止postgresql服务器。

代码语言:javascript
复制
if [ "$1" = "stop" ] || [ "$1" = "restart" ]; then
    ERRMSG=$(pg_ctlcluster --force "$2" "$name" $1 2>&1)
else
    ERRMSG=$(pg_ctlcluster "$2" "$name" $1 2>&1)
fi

/usr/bin/pg_ctlcluster文件接受--skip-systemctl-redirect选项来启动或停止没有systemctl的postgresql。因此,您需要在--skip-systemctl-redirect函数中添加/usr/share/postgresql-common/init.d-functions中的do_ctl_all()。所以看起来会是这样。

代码语言:javascript
复制
if [ "$1" = "stop" ] || [ "$1" = "restart" ]; then
    ERRMSG=$(pg_ctlcluster --skip-systemctl-redirect --force "$2" "$name" $1 2>&1)
else
    ERRMSG=$(pg_ctlcluster --skip-systemctl-redirect "$2" "$name" $1 2>&1)
fi

或者可以在$skip_systemctl_redirect = 1;中签入$skip_systemctl_redirect之前添加/usr/bin/pg_ctlcluster

原答案截图:

票数 11
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1000631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档