Google Cloud SQL PG11:无法调整共享内存段的大小

2024-01-10

我最近在 Google Cloud SQL 上将 Postgres 9.6 实例升级到 11.1。从那时起,我开始注意到多个查询中存在大量以下错误:

org.postgresql.util.PSQLException:错误:无法调整共享大小 内存段“/PostgreSQL.78044234”到2097152字节:没有剩余空间 在设备上

据我了解,这可能是由于 PG10 中的更改造成的,典型的解决方案包括增加实例的共享内存。据我所知,这在 Google Cloud SQL 上是不可能的。我也尝试过调整work_mem没有积极的效果。

这可能并不重要,但为了完整性,该实例配置了 30 GB RAM、120 GB SSD 硬盘空间和 8 个 CPU。我假设谷歌会为这些规格提供适当的共享内存设置,但也许不会?有任何想法吗?

UPDATE设置数据库标志random_page_cost to 1似乎已经减少了该问题的影响。但这不是一个完整的解决方案,因此如果有的话,仍然希望得到适当的解决方案。 信用去往这篇博文 https://amplitude.engineering/how-a-single-postgresql-config-change-improved-slow-query-performance-by-50x-85593b8991b0为了这个想法。

UPDATE 2原始问题报告已关闭,并创建了公众无法查看的新内部问题。然而,根据 GCP 客户经理的电子邮件回复,Google 于 2019 年 8 月 11 日推出了修复程序。


这对我有用,我认为谷歌需要更改一个关于他们如何启动 postgres 容器的标志,我们无法影响 postgres 内部。

https://www.postgresql.org/message-id/CAEepm%3D2wXSfmS601nUVCftJKRPF%3DPRX%2BDYZxMeT8M2WwLSanVQ%40mail.gmail.com https://www.postgresql.org/message-id/CAEepm%3D2wXSfmS601nUVCftJKRPF%3DPRX%2BDYZxMeT8M2WwLSanVQ%40mail.gmail.com

答对了。不知何故,你的容器技术限制了共享内存。那 错误正在按设计工作。你可以弄清楚如何修复 安装选项,或者您可以禁用并行性 max_parallel_workers_per_gather = 0。

show max_parallel_workers_per_gather;
-- 2
-- Run your query
-- Query fails
alter user ${MY_PROD_USER} set max_parallel_workers_per_gather=0;
-- Run query again -- query should work
alter user ${MY_PROD_USER} set max_parallel_workers_per_gather=2;
-- -- Run query again -- fails
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Cloud SQL PG11:无法调整共享内存段的大小 的相关文章

随机推荐

  • GCC 4.8.1 无法识别的命令行选项“-std=c++11”

    在网上看了很多文献 看来最近的GCC版本肯定支持 std c 11命令行选项 但由于一些疯狂的原因 即使使用 GCC 4 8 1 我也会得到 无法识别的命令行选项 这没有任何意义 C newmingw mingw32 bin gt g v
  • 如何使用 C# 在 firebird 中执行事务(或多个 sql 查询)

    我尝试了多种方法 包括SO 以下 MYSQL 代码在 Firebird 中不起作用 CREATE TABLE publications INT NOT NULL AUTO INCREMENT PRIMARY KEY id filename
  • powershell删除特定注册表项

    我是 PowerShell 新手 我正在尝试从运行注册表项中删除特定值 我正在使用remove item命令 但是 我没有看到用于指定单个值的开关 我不想删除整个键 只想删除一个值 作为参考 我正在尝试执行的批处理等效项 reg delet
  • 可插入注释处理器 API 可以检索源代码注释吗?

    我正在使用 Java6 的可插入注释处理 api 自动创建一些部署 XML 文件 这些 XML 文件的一部分包含对象的描述 描述始终与与类本身关联的 Javadoc 内容相同 我可以强制注释成为 Block 注释的字段 但这会重复信息 在注
  • 如何在基于时间的模拟游戏中防止基于时间的作弊?

    在iPhone游戏 Tiny Tower 中 我猜测它使用了某种基于上次玩游戏和当前时间之间花费的时间的模拟 因为你可以将当前时间向前设置 你将从假中受益经过的时间跨度 有没有一种算法可以用来防止这种事情发生 或者至少让普通用户很难实现 编
  • 如何在 Scala 中使用命名参数创建自定义函数类型?

    假设我想创建一个名为 ImportFunc 的自定义函数类型 它接受一个名为 fileImportID 的 Int 和一个名为 filename 的字符串 我可以使用类型别名很容易地做到这一点 如下所示 type ImportFunc In
  • 错误“元素不能包含空格。内容模型为空。”是什么意思?意思是?

    我正在为一个简单的 xml 组合一个 xml 模式 请参阅下面的 xml 和模式 但我不断收到有关节节点的以下错误 元素不能包含空格 内容模型为空 浏览网络我找不到任何简洁的解释来解释它的含义 所以我可以修复它 有人可以帮忙吗 编辑 感谢大
  • np.where(条件为 None) 不等于 np.where(条件 == None)

    我对 np where 函数感到困扰 在我的示例中为第 7 行 背景 我正在编写 连四子 游戏 这insert chip 方法访问变量self board这是我个人数据类型的 8x8 np 数组Chip 如果没有chip在一个条目中self
  • Angular 2 HTTP GET 返回 URL null

    我正在尝试使用 Angular 2 和 Typescript 发出一个简单的 HTTP GET 请求 我收到 404 错误 网址为空 下面显示的是我的组件文件以及我收到的错误 import Component OnInit from ang
  • 如何访问成员变量sqlite回调

    我需要从 sqlite 回调函数访问类中的变量 它不能是静态的 因为我需要从其他函数访问这个变量 这是我当前的代码 class fromdb private string paramdb char errmsg string param s
  • Chrome 正在由自动化测试软件控制

    我正在 Chrome 中使用 Serenity BDD Selenium 运行自动化测试 我必须下载新的 ChromeDriver 因为我的测试无法运行 gt 测试将打开 ChromeDriver 但无法 以用户身份浏览 当我用谷歌搜索这个
  • 为什么声明转换不会减少 cookie 大小?

    我正在使用 Azure AD net core 2 1 并已注册我的应用程序并将其配置为返回 AD 组作为声明 我还使用声明转换来删除除我的应用程序使用的三个组之外的所有组声明 这成功地消除了 100 多个组 我这样做是希望能够减少后续请求
  • SQL Server 2008 - 连接字符串

    我需要获取每个行项目的查询结果 并构建一个以分号分隔的组成该项目的材料列表 架构构成 表格 LineItems 唯一项目列表 LineItems Materials 多对多 材料 独特材料清单 行项目 ID 行项目 1 1A 1 LineI
  • 覆盖 ComboBox 中的默认 TextBlock 样式

    我在 App xaml 中定义了默认的 TextBlock 样式 它似乎也会影响 ComboBox 项目的文本颜色 现在 如何显式设置主窗口中定义的 ComboBox 的文本颜色 我想保留默认样式 但将组合框文本颜色设置为蓝色而不是红色 A
  • Unity3d android 2d 精灵放置

    Please take a look at this picture It s a final look of the game exported from photoshop I marked the ui sprites with re
  • 将鼠标悬停在 jtable 单元格上时显示图像

    我有一个使用 DefaultTableModel 创建的 JTable 我想在鼠标悬停在该 JTable 的特定单元格上时显示图像 并且我需要每个单元格的图像都不同 提前致谢 您可以覆盖prepareRenderer of the JTab
  • iOS - 运行 Swift 单元测试时找不到“MyProject-Swift.h”文件

    我正在尝试为我的项目设置单元测试 它是一个现有的 Objective C 应用程序 我最近向其中添加了一个 Swift 类 我已经设置了 MyProject Swift h 和 Swift 桥接文件 MyProject 和 MyProjec
  • Wordpress 和 Nginx 与 Docker:未加载静态文件

    我正在使用 Docker 来为我的简单 WordPress 网站提供服务 一个 nginx 容器和一个 wordpress 容器 简单设置 upstream wordpress english server wordpress en 80
  • 如何计算MPR的dicom切片之间的空间?

    由于显示MPR view基于 Dicom 我用一系列 dicom 文件制作了一个 3D 数组 我展示它来自Coronal and Sagittal sides My 3D array includes z count of dicoms c
  • Google Cloud SQL PG11:无法调整共享内存段的大小

    我最近在 Google Cloud SQL 上将 Postgres 9 6 实例升级到 11 1 从那时起 我开始注意到多个查询中存在大量以下错误 org postgresql util PSQLException 错误 无法调整共享大小