VACUUM always makes all pages dirty - Mailing list pgsql-hackers

From ITAGAKI Takahiro
Subject VACUUM always makes all pages dirty
Date
Msg-id 20071024155356.6120.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Whole thread Raw
Responses Re: VACUUM always makes all pages dirty
List pgsql-hackers
VACUUM in 8.3dev always makes all pages dirty even if there are no jobs.
In 8.2.5, VACUUM produces no dirty pages in the same workload. Therefore,
VACUUM on 8.3 takes longer time than 8.2. I doubt some bugs in the
HOT-related codes here, but I cannot point out the actual position yet...

Do you have any idea on this issue?

----# CREATE VIEW buffers AS    SELECT nbuf, ndirty, N.nspname AS schemaname, relname    FROM (SELECT count(*) AS nbuf,
        sum(CASE WHEN isdirty THEN 1 ELSE 0 END) AS ndirty,          relnamespace, relname      FROM pg_buffercache B,
pg_classC      WHERE B.relfilenode = C.relfilenode GROUP BY relnamespace, relname) AS T    LEFT JOIN pg_namespace N ON
relnamespace= N.oid    ORDER BY schemaname, relname;
 
# BEGIN;# CREATE TABLE test (i integer, filler char(100) default '');# INSERT INTO test(i) SELECT generate_series(1,
1000000);#COMMIT;# SELECT * FROM buffers WHERE relname = 'test';   nbuf  | ndirty | schemaname | relname
-------+--------+------------+---------  17242 |  17242 | public     | test
 

First query makes all pages dirty because of hit bits.# CHECKPOINT;# SELECT count(*) FROM test;    count  ---------
1000000#SELECT * FROM buffers WHERE relname = 'test';   nbuf  | ndirty | schemaname | relname
-------+--------+------------+---------  17242 |  17242 | public     | test
 

First vacuum makes all pages dirty. Why?# CHECKPOINT;# VACUUM test;# SELECT * FROM buffers WHERE relname = 'test';
nbuf | ndirty | schemaname | relname  -------+--------+------------+---------   17242 |  17242 | public     | test
 

Second vacuum makes all pages dirty, too. Why?# CHECKPOINT;# VACUUM test;# SELECT * FROM buffers WHERE relname =
'test';  nbuf  | ndirty | schemaname | relname  -------+--------+------------+---------   17242 |  17242 | public     |
test

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center



pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Feature Freeze date for 8.4
Next
From: "Magnus Hagander"
Date:
Subject: Re: Feature Freeze date for 8.4