PostgreSQL 11 共享内存错误:无法打开共享内存段“/PostgreSQL.XXXXXXXX”:没有这样的文件或目录

Pru*_*raj 7 postgresql systemd ubuntu-18.04 postgresql-11

共享内存文件在 Postgres 11 中的某个时间(约 15 小时)被删除

2019-07-09 08:46:41 CDT [] [6723]: [1-1] user=,db=,e=58P01 ERROR:  could not open shared memory segment "/PostgreSQL.291691635": No such file or directory
2019-07-09 08:46:41 CDT [] [6722]: [1-1] user=,db=,e=58P01 ERROR:  could not open shared memory segment "/PostgreSQL.291691635": No such file or directory
2019-07-09 08:46:41 CDT [10.40.0.204(60550)] [13880]: [1-1] user=user_name,db=db_name,e=58P01 ERROR:  could not open shared memory segment "/PostgreSQL.291691635": No such file or directory
2019-07-09 08:46:41 CDT [10.40.0.204(60550)] [13880]: [2-1] user=user_name,db=db_name,e=58P01 CONTEXT:  parallel worker
2019-07-09 08:46:41 CDT [10.40.0.204(60550)] [13880]: [3-1] user=user_name,db=db_name,e=58P01 STATEMENT:  WITH overall_reviewed AS (SQL Query)
Run Code Online (Sandbox Code Playgroud)

GCP 虚拟机配置

CPU: 4
RAM: 16 GB
 OS: Ubuntu 18.04.1 LTS
Run Code Online (Sandbox Code Playgroud)

内核共享内存设置共享

kernel.shmmax=8589934592
kernel.shmall=2097152 
Run Code Online (Sandbox Code Playgroud)

postgresql.config

max_connections = 500
shared_buffers = 4GB
effective_cache_size = 12GB
maintenance_work_mem = 1GB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 4194kB
min_wal_size = 1GB
max_wal_size = 2GB
max_worker_processes = 4
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
Run Code Online (Sandbox Code Playgroud)

启动期间:没有错误/警告大约 15 小时后,一些共享内存文件被删除,我怀疑是否有任何其他进程正在删除“/dev/shm ”中的文件?

不确定根本原因是什么

Pru*_*raj 3

在postgresql.conf中设置dynamic_shared_memory_type = none确实解决了这个问题。