我最近在Google Cloud SQL上将Postgres 9.6实例升级到11.1。自那以后,我开始注意到多个查询中出现了大量以下错误:
org.postgresql.util.PSQLException: ERROR: could not resize shared
memory segment "/PostgreSQL.78044234" to 2097152 bytes: No space left
on device
据我所知,这可能是由于PG10带来的更改导致的,典型的解决方案涉及增加实例的共享内存。但据我所知,在Google Cloud SQL上不可能实现这一点。我还尝试调整work_mem,但没有积极的效果。
这可能并不重要,但为了完整起见,该实例配置有30GB的RAM,120GB的SSD硬盘空间和8个CPU。我认为Google会为这些规格提供适当的共享内存设置,但也许不是吗?有什么想法?
这可能并不重要,但为了完整起见,该实例配置有30GB的RAM,120GB的SSD硬盘空间和8个CPU。我认为Google会为这些规格提供适当的共享内存设置,但也许不是吗?有什么想法?
更新
将数据库标记random_page_cost
设置为1
似乎减少了该问题的影响。不过这并不是一个完整的解决方案,如果有更好的解决方法仍然希望得到。感谢这篇博客文章提供的思路。
更新2 原始问题报告已关闭,并创建了一个对公众不可见的新内部问题。但根据GCP账户经理的邮件回复,Google在2019年8月11日推出了修复程序。