![](/img/trans.png)
[英]Where is my /etc/sysctl.conf file? Postgresql Fatal could not create shared memory segment
[英]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
內核共享內存設置共享
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
啟動期間:沒有錯誤/警告大約 15 小時后,一些共享內存文件被刪除,我懷疑是否有其他進程刪除“ /dev/shm
”中的文件?
不確定根本原因是什么
在 postgresql.conf 中設置 dynamic_shared_memory_type = none 確實解決了這個問題。
在 Ubuntu 18.04 和 PostgreSQL 11 上遇到了同樣的問題,經過更多研究,我為我們找到了解決方案。 與PG服務用戶是同一用戶的backup用戶登錄系統時出現該錯誤。 以下鏈接描述了當用戶(同一用戶)登錄系統時刪除/dev/shm 下的存儲。 所以我們的解決方案是更改以下內容:
/etc/systemd/logind.conf
添加了行
RemoveIPC=no
並重啟服務
systemctl restart systemd-logind.service
資料來源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.