EDB 10.5 / redhat 7 에서
아래처럼 기동시 에러납니다.
[enterprisedb@dev:/data/PKSS]$ pg_ctl start -w -c
waiting for server to start....2018-09-13 11:17:23 KST [11452]: [1-1] db=,user=,app=[],host=[] LOG: invalid list syntax in parameter "shared_preload_libraries"
2018-09-13 11:17:23 KST [11452]: [2-1] db=,user=,app=[],host=[] LOG: listening on IPv4 address "0.0.0.0", port 5446
2018-09-13 11:17:23 KST [11452]: [3-1] db=,user=,app=[],host=[] LOG: listening on IPv6 address "::", port 5446
2018-09-13 11:17:23 KST [11452]: [4-1] db=,user=,app=[],host=[] LOG: listening on Unix socket "/tmp/.s.PGSQL.5446"
2018-09-13 11:17:23 KST [11452]: [5-1] db=,user=,app=[],host=[] FATAL: could not open shared memory segment "/PostgreSQL.231167439": Permission denied
2018-09-13 11:17:23 KST [11452]: [6-1] db=,user=,app=[],host=[] LOG: database system is shut down
stopped waiting
pg_ctl: could not start server
Examine the log output.
[enterprisedb@dev:/data/PKSS]$ vi postgresql.conf
....
dynamic_shared_memory_type = posix
....
posix 로 되어 있는걸 sysv 로 변경하니깐 에러없이 재기동됩니다.
왜 다른 서버는 posix 로 잘 올라오는데 유독 이서버만 sysv 로 세팅 해야 하는지 원인을 찾아봤습니다.
이 서버는 다른 서버와 달리 /dev/shm 이 마운트되어 있지않았습니다.
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-rootlv 129G 31G 99G 24% /
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 39M 32G 1% /dev/shm
/dev/shm 이 없으면 posix 로 일때 위와 같은 메모리 권한 에러가 납니다.
아래명령으로 마운트해줍니다.
mount -t tmpfs tmp /dev/shm