On Tue, Mar 6, 2012 at 12:23 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> On Tue, Mar 6, 2012 at 5:14 PM, Robert Haas <robertmhaas@gmail.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