From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Thom Brown <thom(at)linux(dot)com> |
Cc: | PGSQL Mailing List <pgsql-general(at)postgresql(dot)org>, pgsql-hackers(at)postgresql(dot)org, Simon Riggs <simon(at)2ndquadrant(dot)com> |
Subject: | Re: VACUUM touching file but not updating relation |
Date: | 2011-11-11 23:28:25 |
Message-ID: | 13875.1321054105@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
Thom Brown <thom(at)linux(dot)com> writes:
> On 11 November 2011 00:55, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Thom Brown <thom(at)linux(dot)com> writes:
>>> I just noticed that the VACUUM process touches a lot of relations
>>> (affects mtime) but for one file I looked at, it didn't change. This
>>> doesn't always happen, and many relations aren't touched at all.
>> No immmediate ideas as to why the mtime would change if the file
>> contents didn't. It seems like there must be a code path that marked
>> a buffer dirty without having changed it, but we're usually pretty
>> careful about that.
> I checked all files where the time stamp of the file had changed, but
> had the same MD5 sum. I used the list in the query you mentioned and
> get: [ mostly indexes ]
Hmm, is this on a hot standby master?
I observe that _bt_delitems_vacuum() unconditionally dirties the page
and writes a WAL record, whether it has anything to do or not; and that
if XLogStandbyInfoActive() then btvacuumscan will indeed call it despite
there being (probably) nothing useful to do. Seems like that could be
improved. The comment explaining why it's necessary to do that doesn't
make any sense to me, either.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Thom Brown | 2011-11-12 00:08:35 | Re: VACUUM touching file but not updating relation |
Previous Message | Jerry Levan | 2011-11-11 22:27:49 | dblink build problem…must be a lesson here... |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2011-11-11 23:48:55 | Re: Allow substitute allocators for PGresult. |
Previous Message | Tom Lane | 2011-11-11 22:04:59 | Re: why do we need two snapshots per query? |