我正在执行此命令以在我的 ubuntu 14.04 中安装 postgesql
sudo apt-get install postgresql postgresql-contrib
Run Code Online (Sandbox Code Playgroud)
我在安装过程中遇到错误:
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
Run Code Online (Sandbox Code Playgroud)
这是完整的日志:
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
Run Code Online (Sandbox Code Playgroud)
这是输出 systemctl status postgresql@10-main.service
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
Run Code Online (Sandbox Code Playgroud)
小智 11
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 服务器。
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
Run Code Online (Sandbox Code Playgroud)
/usr/bin/pg_ctlcluster
file 接受--skip-systemctl-redirect
在没有 systemctl 的情况下启动或停止 postgresql 的选项。所以,你需要添加--skip-systemctl-redirect
中/usr/share/postgresql-common/init.d-functions
的do_ctl_all()
功能。所以它看起来像这样。
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
Run Code Online (Sandbox Code Playgroud)
或者您可以
$skip_systemctl_redirect = 1;
在$skip_systemctl_redirect
签入之前添加/usr/bin/pg_ctlcluster
。
归档时间: |
|
查看次数: |
6453 次 |
最近记录: |