From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org, Daniel Farina <daniel(at)heroku(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com> |
Subject: | Re: [PATCH 10/16] Introduce the concept that wal has a 'origin' node |
Date: | 2012-06-19 14:17:01 |
Message-ID: | 11866.1340115421@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andres Freund <andres(at)2ndquadrant(dot)com> writes:
> On Tuesday, June 19, 2012 08:03:04 AM Tom Lane wrote:
>> "Every WAL record"? Why in heck would you attach it to every record?
>> Surely putting it in WAL page headers would be sufficient.
> The idea is that you can have cascading, circular and whatever replication
> topologies if you include the "logical origin" of a wal causing action into
> it.
> That is, if you have nodes A(1) and B(2) and a insert happens on A the wal
> records generated by that will get an xl_origin_id = 1 and when it will be
> decoded and replayed on B it will *also* get the id 1. Only when a change
> originally is generated on Bit will get xl_origin_id = 2.
None of this explains to me why each individual WAL record would need to
carry a separate copy of the indicator. We don't have multiple masters
putting records into the same WAL file, nor does it seem to me that it
could possibly be workable to merge WAL streams. (If you are thinking
of something sufficiently high-level that merging could possibly work,
then it's not WAL, and we shouldn't be trying to make the WAL
representation cater for it.)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2012-06-19 14:17:29 | Do we want a xmalloc or similar function in the Backend? |
Previous Message | Fujii Masao | 2012-06-19 14:14:13 | Re: Allow WAL information to recover corrupted pg_controldata |