Re: Checksums, state of play

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Checksums, state of play
Date: 2012-03-06 17:44:19
Message-ID: CA+TgmoZR0dRYFeBm7E1AOxZTp-_XKXdm=OMvq0mLCAApCz1Ntg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 6, 2012 at 12:23 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On Tue, Mar 6, 2012 at 5:14 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>>> Options
>>>
>>> (1) Recovery ignores checksums until db in consistent state
>>>
>>> (2) Recovery ignores checksums until all databases are enabled, when
>>> we set flag in pg_control
>>>
>>> (3) Recovery checks blocks marked as having a checksum, no matter the
>>> overall state
>>
>> How about combining #1 and #3?  If the database isn't consistent yet
>> (and thus we can't look at pg_database) then we rely on the blocks
>> themselves to tell us whether they have checksums.  Once we reach
>> consistency we can do better.
>
> We can change state then, but to what? We don't have a relcache.

If the state is per-database or per-tablespace, you can read
pg_database at that point and see what the flag says. If it's
per-relation, then I agree: you still don't have enough information.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2012-03-06 17:47:00 Re: elegant and effective way for running jobs inside a database
Previous Message Christopher Browne 2012-03-06 17:37:01 Re: elegant and effective way for running jobs inside a database