小编doe*_*unt的帖子

对大型数据库的查询终止与服务器的连接,与 LIMIT 一起使用

我正在尝试在大型数据库上运行查询而不终止与服务器的连接。

我在具有 16GB 内存和大约 40GB 可用磁盘空间的 Mac 上使用 Postgres 12.1。根据数据,数据库为 78GB pg_database_size,最大表为 20GB pg_total_relation_size

无论我运行哪个非工作查询,我(从日志中)得到的错误是:

server process (PID xxx) was terminated by signal 9: Killed: 9
Run Code Online (Sandbox Code Playgroud)

在 VS 代码中,错误是"lost connection to server".

两个不起作用的例子是:

UPDATE table
SET column = NULL
WHERE column = 0;
Run Code Online (Sandbox Code Playgroud)
select columnA
from table1
where columnA NOT IN (
select columnB
from table2
);
Run Code Online (Sandbox Code Playgroud)

我可以通过添加 1,000,000 个来运行某些查询(例如上面的查询)LIMIT

我怀疑由于临时文件而导致磁盘不足,但在日志(带有log_temp_files = 0)中,我看不到任何正在写入的临时文件。

我尝试增加和减少work_mem, maintenance_work_mem,shared_bufferstemp_buffers。没有一个起作用,性能大致相同。 …

postgresql mac-os-x kill connections jit

2
推荐指数
1
解决办法
6672
查看次数

标签 统计

connections ×1

jit ×1

kill ×1

mac-os-x ×1

postgresql ×1