Postgresql 磁盘空间占用限制?

时间:2021-06-13 01:08:49

标签: recursive-query postgresql-13

编辑:我把这个问题留在这里,以防万一有答案,这对未来的人有帮助。但是我的特定用例已经解决了——我将问题分解为手动运行递归,并发现实际上存在一个无限循环——数据是这样的,底层算法实际上是在环绕流量循环无限

我有一个以 RECURSIVE CTE 开始的 SQL 查询,它可能需要几百次递归才能完成。我已经在有限的数据集和玩具示例上对其进行了测试,因此我认为它不可能陷入无限循环。

查询现在已中止两次,20 多个小时后,一次在 GCP postgresql 实例上,该实例应根据需要进行扩展,另一次在我有 5 TB 可用空间的本地机器上:

<块引用>

psql:my_query.sql:52:错误:无法写入文件“base/pgsql_tmp/pgsql_tmp70290.6115”:设备上没有剩余空间

在我的本地机器上,我已经将 work_mem 从 4 MB 增加到 4 GB(我有 128 个),以避免将 tmp 文件写入磁盘。

在我进入执行穷人的分片以推动查询的兔子洞之前,我虽然我会问是否有任何人为限制限制 pgsql_tmp 足迹远低于我认为我已经提供的将 data_directory(在 postgresql.conf 中设置)放在一个大磁盘上?

0 个答案:

没有答案
相关问题