小编raf*_*fbm的帖子

SELECT 会像 V​​ACUUM 一样删除死行吗?

我在摆弄VACUUM并注意到一些意想不到的行为,其中SELECT从表中ing 行似乎减少了VACUUM之后必须做的工作。

测试数据

注意:autovacuum 被禁用

CREATE TABLE numbers (num bigint);
ALTER TABLE numbers SET (
  autovacuum_enabled = 'f',
  toast.autovacuum_enabled = 'f'
);

INSERT INTO numbers SELECT generate_series(1, 5000);
Run Code Online (Sandbox Code Playgroud)

试验 1

现在我们对所有行运行更新,

UPDATE numbers SET num = 0;
Run Code Online (Sandbox Code Playgroud)

当我们跑步时,VACUUM (VERBOSE) numbers;我们得到,

INFO:  vacuuming "public.numbers"
INFO:  "numbers": removed 5000 row versions in 23 pages
INFO:  "numbers": found 5000 removable, 5000 nonremovable row versions in 45 out of 45 pages
DETAIL:  0 dead row versions …
Run Code Online (Sandbox Code Playgroud)

postgresql select vacuum postgresql-11

9
推荐指数
1
解决办法
884
查看次数

标签 统计

postgresql ×1

postgresql-11 ×1

select ×1

vacuum ×1