Re: WAL, xl_heap_insert and tuple oid mystry - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: WAL, xl_heap_insert and tuple oid mystry
Date
Msg-id 4DA4829D.6050800@enterprisedb.com
Whole thread Raw
In response to Re: WAL, xl_heap_insert and tuple oid mystry  (jagan <jaganrvce@yahoo.com>)
Responses Re: WAL, xl_heap_insert and tuple oid mystry
List pgsql-hackers
On 12.04.2011 19:42, jagan wrote:
>>>   Where is the OID of tuple stored in a WAL record of a
>>>   tuple? If not with xl_heap_header, where is it stored? Is it
>>>   stored at all?
>
>      >  It's stored in the "tuple data" portion.
>
> Is the OID also recorded with xl_heap_delete record as well or just the xl_heaptid? From my reading of the code it is
notrecorded.
 

Correct, it's not.

> In general, why is OID of a tuple relegated as just another tuple data, when it can replace xl_heaptid as a much more
stabletuple identifier. I understand that by recording tuples in terms of xl_heaptid (i.e., page/offset) means that the
dbcan recover quickly but isn't there some value to storing a much "higher level" information in the WAL logs? For
example,tuple manipulations, if recorded in terms of manipulation on tuple oids, can support applications such as
these:
>
> http://blogs.enterprisedb.com/2011/03/03/more-musings-on-logical-replication/

Possibly. On the other hand, another common complaint is that PostgreSQL 
writes a lot of WAL, much more than other DBMSs. Adding more 
higher-level information to WAL records would make that issue even 
worse. At the moment we only include the minimum amount of information 
needed for recovery.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: jagan
Date:
Subject: Re: WAL, xl_heap_insert and tuple oid mystry
Next
From: Tom Lane
Date:
Subject: Re: fn_collation in FmgrInfo considered harmful