Fresh initdb contains a few deleted B-Tree pages

Lists: pgsql-hackers
From: Peter Geoghegan <pg(at)heroku(dot)com>
To: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Fresh initdb contains a few deleted B-Tree pages
Date: 2014-06-30 22:10:14
Message-ID: CAM3SWZRJFLRMohRUpoVeKtSBwR9h9taQyETNVRv6s8Mu--gMiw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

I would like to put on the record that there are a few deleted B-Tree
pages in a freshly initdb'd database. As my btreecheck tools shows:

mgd=# select bt_index_verify(indexrelid::regclass::text) from pg_index;
NOTICE: 00000: page 12 of index "pg_attribute_relid_attnam_index" is deleted
LOCATION: bt_page_verify_worker, btreecheck.c:206
NOTICE: 00000: page 13 of index "pg_attribute_relid_attnam_index" is deleted
LOCATION: bt_page_verify_worker, btreecheck.c:206
NOTICE: 00000: page 14 of index "pg_attribute_relid_attnam_index" is deleted
LOCATION: bt_page_verify_worker, btreecheck.c:206
NOTICE: 00000: page 9 of index "pg_attribute_relid_attnum_index" is deleted
LOCATION: bt_page_verify_worker, btreecheck.c:206

(contrib/pageinspect's bt_page_items() will show a similar message if
this is done manually)

This is not a new-to-9.4 issue. I am not suggesting that it's a real
problem that requires immediate fixing, but it is suboptimal. We may
wish to fix this someday.

--
Peter Geoghegan


From: Greg Stark <stark(at)mit(dot)edu>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Fresh initdb contains a few deleted B-Tree pages
Date: 2014-07-01 13:02:28
Message-ID: CAM-w4HNXQCKgLZWwSeAkYPG8_W+zz-zdV5w1RVmNpq433xvf=w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Why is this even a small concern? Initdb runs the bootstrap SQL which does
various SQL operations so it's not surprising there are some updates
creating garbage. Iirc we don't even rely on template0 being frozen any
more.

--
greg


From: Peter Geoghegan <pg(at)heroku(dot)com>
To: Greg Stark <stark(at)mit(dot)edu>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Fresh initdb contains a few deleted B-Tree pages
Date: 2014-07-01 18:00:44
Message-ID: CAM3SWZSMfz2N6VwZzeRacxB-Efvkh9GEGL0qbehJ9X4YmcpMLQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, Jul 1, 2014 at 6:02 AM, Greg Stark <stark(at)mit(dot)edu> wrote:
> Why is this even a small concern? Initdb runs the bootstrap SQL which does
> various SQL operations so it's not surprising there are some updates
> creating garbage. Iirc we don't even rely on template0 being frozen any
> more.

It's not surprising that some initdb updates create garbage, but the
extent to which they do did slightly surprise me.

--
Peter Geoghegan