postgres 已停止-如何重新启动?

postgres 已停止-如何重新启动?

我的 postgresql (9.3.4) 在 Ubuntu 上运行,今晚突然停止了。当我尝试停止它时,以 postgres 身份登录,我得到

~$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data stop;
pg_ctl: could not send stop signal (PID: 9242): No such process

当我尝试启动它时,我得到了

$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql  /data/postgresql.log start;
pg_ctl: another server might be running; trying to start server anyway
server starting
sh: 1: cannot create /usr/local/pgsql/data/postgresql.log: Read-only file system

所以它无法启动,而且奇怪的是,我也收到了有关 postgresql.log 的投诉。

~$ ls -l /usr/local/pgsql/data/postgresql.log
-rw------- 1 postgres postgres 351089 May 21 16:45 /usr/local/pgsql/data/postgresql.log

奇怪的是它抱怨说它是一个只读文件系统..?更奇怪的是,即使作为 root,我也无法删除该文件...

~# rm /usr/local/pgsql/data/postgresql.log
rm: cannot remove `/usr/local/pgsql/data/postgresql.log': Read-only file system

postmaster.pid 也是如此

# rm -f /usr/local/pgsql/data/postmaster.pid
rm: cannot remove `/usr/local/pgsql/data/postmaster.pid': Read-only file system

我怎样才能让我的postgresql重新运行?

答案1

您需要修复只读文件系统问题。在尝试做其他任何事情之前,我会确保我的备份是好的,因为您可能最终还是需要使用它们。

这可能很简单

mount -o remount,rw filesystem

这可能要复杂得多,而且必须卸载文件系统并通过运行文件系统检查文件系统检查

如果由于某种原因你不能卸载文件系统,你可以尝试

touch /forcefsck
reboot

这将导致系统在启动过程中运行自动文件系统检查。

我是否提到过备份?我希望您知道好的备份。

相关内容