On Fri, Nov 18, 2011 at 2:47 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Thom Brown <thom@linux.com> writes:
>>> On 11 November 2011 23:28, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>>> 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.
>
>>> Well the effect, in the single instances I've checked, is certainly
>>> more pronounced for hot_standby, but there still appears to be some
>>> occurrences for minimal wal_level too.
>
>> So would you say this is acceptable and normal activity, or is
>> something awry here?
>
> Well, it's expected given the current coding in the btree vacuum logic.
> It's not clear to me why it was written like that, though.
I'll take a look.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services