我正在使用arch linux(4.8.13-1-ARCH).我正在尝试按照此处的说明设置PostgreSQL .
演出结束后
[postgres@BitBox ~]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data' 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_US.UTF-8". The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory /var/lib/postgres/data ... 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 WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D /var/lib/postgres/data -l logfile start
成功之后,我使用exit命令返回普通用户.
[postgres@BitBox ~]$ exit logout
然后,在尝试启动postgresql.service时,我收到以下错误:
[code_master5@BitBox ~]$ sudo systemctl start postgresql.service Failed to start postgresql.service: Unit postgresql.service not found.
我甚至没有得到服务的状态:
[code_master5@BitBox ~]$ sudo systemctl status postgresql.service Unit postgresql.service could not be found.
我被卡住了!
最后,我想出了这一个.已有文件存在
/usr/lib/systemd/system/postgresql-9.6.service
所以,可能是由于这个文件的存在,我无法启动postgresql.service.然后我尝试启动postgresql-9.6.service,如下所示:
[code_master5@BitBox ~]$ sudo systemctl start postgresql-9.6.service Failed to start postgresql-9.6.service: Unit postgresql-9.6.service not found.
并且,正如您可以看到输出,它再次失败.
我只是使用sudo删除文件,因为我认为可能是postgresql.service文件由于此文件的存在而没有被相关程序创建.然后我重新启动了系统.从那时起它工作正常,你可以看到下面的输出:
[code_master5@BitBox ~]$ sudo systemctl status postgresql.service [sudo] password for code_master5: ? postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor p Active: active (running) since Sat 2017-01-28 09:31:30 IST; 7h ago Main PID: 342 (postgres) Tasks: 6 (limit: 4915) CGroup: /system.slice/postgresql.service ??342 /usr/bin/postgres -D /var/lib/postgres/data ??358 postgres: checkpointer process ??359 postgres: writer process ??360 postgres: wal writer process ??361 postgres: autovacuum launcher process ??362 postgres: stats collector process Jan 28 09:31:26 BitBox systemd[1]: Starting PostgreSQL database server... Jan 28 09:31:28 BitBox postgres[340]: FATAL: the database system is starting up Jan 28 09:31:28 BitBox postgres[340]: LOG: database system was shut down at 201 Jan 28 09:31:29 BitBox postgres[340]: FATAL: the database system is starting up Jan 28 09:31:29 BitBox postgres[340]: LOG: MultiXact member wraparound protecti Jan 28 09:31:29 BitBox postgres[340]: LOG: database system is ready to accept c Jan 28 09:31:29 BitBox postgres[340]: LOG: autovacuum launcher started Jan 28 09:31:30 BitBox systemd[1]: Started PostgreSQL database server.
我当然想警告那些有同样问题的人.请自行承担风险.因为这些是系统文件.弄乱这些可能会破坏你的周末!
我对此仍然有点困惑.欢迎解释!
尝试这个:
service postgresql-10.service restart service postgresql-XX.service restart