Re: Error with index on unlogged table

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Thom Brown <thom(at)linux(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Error with index on unlogged table
Date: 2015-03-24 11:35:28
Message-ID: CAB7nPqRTGoN5WjgLvW4r58=RntreafEOXHOEbMxhtq94rEmYKQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 24, 2015 at 5:53 PM, Thom Brown <thom(at)linux(dot)com> wrote:
> I was attempting to set up a data set to test pg_rewind, when I encountered
> an error. I created a primary and standby, then:
>
> [...]
>
> # insert into utest (thing) values ('moomoo');
> ERROR: index "utest_pkey" contains unexpected zero page at block 0
> HINT: Please REINDEX it.
>
> This is built on commit e5f455f59fed0632371cddacddd79895b148dc07.

Unlogged tables are not in WAL, and cannot be accessed while in
recovery, so having an empty index relation is expected on a promoted
standby IMO. Now perhaps we could have a more friendly error message
in _bt_checkpage(), _hash_checkpage() and gistcheckpage() with an
additional HINT to mention unlogged tables, but I am not sure that
this is much worth it. Mentioning this behavior in the docs would be
good instead.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2015-03-24 11:36:19 Re: pg_dump quietly ignore missing tables - is it bug?
Previous Message Shigeru HANADA 2015-03-24 10:35:58 Re: Custom/Foreign-Join-APIs (Re: [v9.5] Custom Plan API)