Jon Lapham <lapham@xxxxxxxxx> writes: > chdir("/var/lib/pgsql/data") = 0 > open("postmaster.pid", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File > exists) > open("postmaster.pid", O_RDONLY) = 3 > read(3, "2809\n/var/lib/pgsql/data\n 54320"..., 1123) = 45 > close(3) = 0 > getppid() = 4150 > kill(2809, SIG_0) = -1 ESRCH (No such process) > shmctl(32768, IPC_STAT, 0x7fffd6144e00) = -1 EIDRM (Identifier removed) Oh, that's interesting. The code is barfing on this because /* * Otherwise, we had better assume that the segment is in use. The * only likely case is EIDRM, which implies that the segment has been * IPC_RMID'd but there are still processes attached to it. */ It would seem that maybe your kernel has a different idea of what EIDRM means than we do. You say this persists across a reboot? regards, tom lane