Re: Logical decoding output plug-in questions

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Christophe Pettus <xof(at)thebuild(dot)com>
Cc: pgsql-general list <pgsql-general(at)postgresql(dot)org>
Subject: Re: Logical decoding output plug-in questions
Date: 2015-01-26 22:24:31
Message-ID: 20150126222431.GA4655@awork2.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2015-01-26 13:00:29 -0800, Christophe Pettus wrote:
> * OutputPluginPrepareWrite, OutputPluginWrite -- last_write. This is false if you are planning to do another OutputPluginPrepareWrite/OutputPluginWrite pair in the same invocation of the same callback function, yes?

Yes. Important so the other side gets an appropriate LSN of the record
you're essentially sending feedback for. That's primarily important for sync rep,
but also also

> * On an UPDATE, it appears that data.tp.oldtuple is only not-NULL if a
> primary key field changed, and then it only includes primary key
> fields (the rest being NULL). Correct?

What's in the old tuple depends on the configured replica identity.

> * pg_decode_startup -- is_init. What's the situation under which this is true or false?

That's actually documented:
The <literal>is_init</literal> parameter will be true when the
replication slot is being created and false
otherwise. <parameter>options</parameter> points to a struct of options
that output plugins can set:

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tim Smith 2015-01-26 22:30:53 Re: Pattern matching ints
Previous Message Spiros Ioannou 2015-01-26 21:20:23 Re: How to access large objects in Postgresql c-language functions?