Re: WAL, xl_heap_insert and tuple oid mystry

From: jagan <jaganrvce(at)yahoo(dot)com>
To: pgsql-hackers(at)postgresql(dot)org, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Subject: Re: WAL, xl_heap_insert and tuple oid mystry
Date: 2011-04-12 16:42:09
Message-ID: 790093.18811.qm@web32107.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

>> 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 not recorded.

In general, why is OID of a tuple relegated as just another tuple data, when it can replace xl_heaptid as a much more stable tuple identifier. I understand that by recording tuples in terms of xl_heaptid (i.e., page/offset) means that the db can 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/

Just a thought.

Thanks,
Jagan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2011-04-12 16:49:33 Re: WAL, xl_heap_insert and tuple oid mystry
Previous Message Tom Lane 2011-04-12 14:58:25 Re: Back branch update releases this week; beta postponed