工作中有一台运行 CentOS 6.7 的 VMware 机器。它使用 Postgres 9.2。我想要的只是启动 postgres 服务。这可能与它有关,但我不知道该怎么做:https://kb.vmware.com/s/article/2111236。请注意,我不知道当时人们对它做了什么。
service postgresql-9.2 start
它一直失败。我找到了日志所在的位置/var/lib/pgsql/9.2/pgstartup.log
。
信息:
FATAL: could not write lock file "/tmp/.s.PGSQL.5432.lock": No space left on device
磁盘空闲信息:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 52G 51G 0 100% /
tmpfs 2.9G 0 2.9G 0% /dev/shm
/dev/sda3 40G 6.3G 31G 17% /var
这个问题显然与空间不足有关,但我该如何解决呢? postgressql 数据位于哪里?
答案1
由于我无法修复 /dev/sda1 的空间,因为它是 VMware bug,所以我成功更改了锁定文件的 /tmp 文件夹。
/var/lib/pgsql/9.2/data/postgresql.conf
对于遇到相同问题的任何人,请打开上面的文件并在末尾添加以下行:
unix_socket_directory = '/dev/shm'
请注意,我选择了一个有足够可用空间的文件夹
df -h
tmpfs 2.9G 0 2.9G 0% /dev/shm