简体   繁体   English

无法在linux上启动postgres

[英]Can't start postgres on linux

When I run sudo -u postgres psql it gives error as 当我运行sudo -u postgres psql时,它会给出错误

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

So I check status by pg_lsclusters ,it gives status as down 所以我通过pg_lsclusters检查状态,它将状态显示为down

So I tried to start the cluster by sudo pg_ctlcluster 11 main start ,it gives error as 所以我尝试通过sudo pg_ctlcluster 11主启动启动集群,它给出了错误

Job for postgresql@11-main.service failed because the service did not take 
the steps required by its unit configuration.
See "systemctl status postgresql@11-main.service" and "journalctl -xe" for 
details.

Then I check log by journalctl -xe ,it gives 然后我通过journalctl -xe检查日志,它给出了

-- Subject: Unit postgresql@11-main.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit postgresql@11-main.service has begun starting up.
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: Error: 
/usr/lib/postgresql/11/bin/pg_ctl /usr/lib/postgresql/11/bin/pg_ctl start -D 
/data/aqu
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
18:35:50.032 UTC [3622] LOG:  listening on IPv4 address "0.0.0.0", port 5432
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
18:35:50.032 UTC [3622] LOG:  listening on IPv6 address "::", port 5432
 May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
 18:35:50.033 UTC [3622] LOG:  listening on Unix socket 
 "/var/run/postgresql/.s.PGS
 May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
 18:35:50.090 UTC [3623] LOG:  database system shutdown was interrupted; 
 last known
 May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
18:35:50.140 UTC [3623] LOG:  database system was not properly shut down; 
automati
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
18:35:50.147 UTC [3623] LOG:  redo starts at 9D/44F48998
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
 18:35:53.483 UTC [3624] a2i@postgres FATAL:  the database system is 
 starting up
 May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 
 18:35:54.422 UTC [3625] a2i@postgres FATAL:  the database system is 

starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:35:55.461 UTC [3626] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:35:55.465 UTC [3627] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:35:57.713 UTC [3628] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:35:57.861 UTC [3623] LOG:  redo done at 9D/AFFFFF98
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:35:59.416 UTC [3629] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:03.493 UTC [3630] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql

@11-main[3617]: 2019-05-08 18:36:04.431 UTC [3631] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:05.471 UTC [3632] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:05.477 UTC [3633] a2i@postgres FATAL:  the database system is starting up
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:06.776 UTC [3623] PANIC:  could not write to file "pg_wal/xlogtemp.3623": No
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:06.959 UTC [3622] LOG:  startup process (PID 3623) was terminated by signal
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:06.959 UTC [3622] LOG:  aborting startup due to startup process failure
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:07.108 UTC [3622] LOG:  database system is shut down
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: pg_ctl: could not start server
May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: Examine the log output.
May 08 18:36:07 ip-10-0-1-87 systemd[1]: postgresql@11-main.service: Can't open PID file /var/run/postgresql/11-main.pid (yet?) after start: No such
May 08 18:36:07 ip-10-0-1-87 systemd[1]: postgresql@11-main.service: Failed with result 'protocol'.
May 08 18:36:07 ip-10-0-1-87 systemd[1]: Failed to start PostgreSQL Cluster 11-main.
-- Subject: Unit postgresql@11-main.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit postgresql@11-main.service has failed.
--
-- The result is RESULT.
May 08 18:36:07 ip-10-0-1-87 sudo[3612]: pam_unix(sudo:session): session closed for user root

It may cause because of shutting down database improperly I don't need solution like taking dump of existing database and reinstall postgres and restore it..I have big data , it will take much. 它可能导致因为不正确地关闭数据库而我不需要像现有数据库的转储和重新安装postgres并恢复它的解决方案。我有大数据,它将需要很多。 What will be the soultion to sort this? 对此进行排序的灵魂是什么?

It says in the logs what the problem is: 它在日志中说明问题是什么:

May 08 18:36:07 ip-10-0-1-87 postgresql@11-main[3617]: 2019-05-08 18:36:06.776 UTC [3623] PANIC:  could not write to file "pg_wal/xlogtemp.3623": No

I can't see what comes after "No" because it looks like you cut off that part of the message. 我看不出“No”之后会发生什么,因为看起来你切断了那部分信息。

However, the database server is unable to write to the transaction logs directory and is quite sensibly refusing to continue. 但是,数据库服务器无法写入事务日志目录,并且非常明智地拒绝继续。 Stop what you are doing, take a complete backup of all the files in your data directory and below and then and only then figure out what the problem is. 停止你正在做的事情,对你的数据目录和下面的所有文件进行完整备份, 然后再找出问题所在。

You don't know what you are doing (or you wouldn't be posting here without reading the error log) and there is a good chance that anything else you do will make the situation worse. 你不知道你在做什么(或者你不会在没有阅读错误日志的情况下在这里发帖)并且很有可能你做的任何其他事情都会使情况变得更糟。

Obvious things to check: 要检查的明显事项:

  • Has the machine crashed recently? 机器最近崩溃了吗?
  • Have you run out of disk space? 你的磁盘空间不足吗?
  • Have permissions on the directories been changed? 是否已更改目录的权限?

对我来说,这是通过更改bin目录的权限来解决的。

chmod 755 /bin

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM