PostgreSQL 11 Shared Memory Error: could not open shared memory segment "/PostgreSQL.XXXXXXXX": No such file or directory
PostgreSQL 11 Shared Memory Error: could not open shared memory segment "/PostgreSQL.XXXXXXXX": No such file or directory
共享内存文件在 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)
GCP 虚拟机配置
CPU: 4
RAM: 16 GB
OS: Ubuntu 18.04.1 LTS
内核共享内存设置shared
kernel.shmmax=8589934592
kernel.shmall=2097152
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
启动期间:无errors/warnings
大约 15 小时后,一些共享内存文件被删除,我怀疑是否有任何其他进程删除“/dev/shm
”中的文件?
不确定根本原因是什么
在 postgresql.conf 中制作 dynamic_shared_memory_type = none 确实解决了问题。
在 Ubuntu 18.04 和 PostgreSQL 11 上遇到了同样的问题,经过更多研究后,我找到了适合我们的解决方案。当备份用户(与PG服务用户相同的用户)登录系统时发生错误。下面的Link描述的是/dev/shm下的存储在用户登录系统(同一用户)时被删除。所以我们的解决方案是更改以下内容:
/etc/systemd/logind.conf
添加了行
RemoveIPC=no
并重启服务
systemctl restart systemd-logind.service
来源:
遇到同样的问题.....当我用相同的用户帐户打开两个 sqldeveloper 时,其中一个是我的远程会话,我完全忘记了关闭会话。
我正在做一些聚合运算符,例如 count(*) 或 max(...),两者都出现错误。并且错误类似:
ERROR: could not open shared memory segment "/PostgreSQL.798235387":
No such file or directory Where: parallel worker
解决方案?我杀了远程会话.... XD
生活再次平静幸福:D
共享内存文件在 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)
GCP 虚拟机配置
CPU: 4
RAM: 16 GB
OS: Ubuntu 18.04.1 LTS
内核共享内存设置shared
kernel.shmmax=8589934592
kernel.shmall=2097152
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
启动期间:无errors/warnings
大约 15 小时后,一些共享内存文件被删除,我怀疑是否有任何其他进程删除“/dev/shm
”中的文件?
不确定根本原因是什么
在 postgresql.conf 中制作 dynamic_shared_memory_type = none 确实解决了问题。
在 Ubuntu 18.04 和 PostgreSQL 11 上遇到了同样的问题,经过更多研究后,我找到了适合我们的解决方案。当备份用户(与PG服务用户相同的用户)登录系统时发生错误。下面的Link描述的是/dev/shm下的存储在用户登录系统(同一用户)时被删除。所以我们的解决方案是更改以下内容:
/etc/systemd/logind.conf
添加了行
RemoveIPC=no
并重启服务
systemctl restart systemd-logind.service
来源:
遇到同样的问题.....当我用相同的用户帐户打开两个 sqldeveloper 时,其中一个是我的远程会话,我完全忘记了关闭会话。
我正在做一些聚合运算符,例如 count(*) 或 max(...),两者都出现错误。并且错误类似:
ERROR: could not open shared memory segment "/PostgreSQL.798235387": No such file or directory Where: parallel worker
解决方案?我杀了远程会话.... XD 生活再次平静幸福:D