Re: [HACKERS] generated columns

From: Erik Rijkers <er(at)xs4all(dot)nl>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Sergei Kornilov <sk(at)zsrv(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com>
Subject: Re: [HACKERS] generated columns
Date: 2018-10-31 08:29:55
Message-ID: 67120152f24578427f4bd8c207beb09d@xs4all.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2018-10-31 09:15, Simon Riggs wrote:
> On Wed, 31 Oct 2018 at 07:58, Erikjan Rijkers <er(at)xs4all(dot)nl> wrote:
>
>
>> I have also noticed that logical replication isn't possible on tables
>> with a generated column. That's a shame but I suppsoe that is as
>> expected.
>>
>
> Couldn't see anything like that in the patch. Presumably unintended
> consequence. The generated value needs to be in WAL, so decoding it
> should
> be trivial.
>

These log messages occur on attempting at logical replication:

( table t1 has no generated columns; replicates fine.
table t2 has one generated column; replication fails: see below )

LOG: database system is ready to accept connections
LOG: logical replication apply worker for subscription "sub1" has
started
LOG: logical replication table synchronization worker for subscription
"sub1", table "t1" has started
LOG: logical replication table synchronization worker for subscription
"sub1", table "t2" has started
LOG: logical replication table synchronization worker for subscription
"sub1", table "t1" has finished
ERROR: column "i2" is a generated column
DETAIL: Generated columns cannot be used in COPY.
LOG: background worker "logical replication worker" (PID 22252) exited
with exit code 1

> Virtual columns wouldn't need to be replicated.
>
> I guess we might choose to replicate generated cols as a value, or
> leave
> them out and let them be generated on the downstream side. The default
> should be to just treat them as a value.
>
> --
> Simon Riggs http://www.2ndQuadrant.com/
> <http://www.2ndquadrant.com/>
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nagaura, Ryohei 2018-10-31 08:33:05 RE: Timeout parameters
Previous Message Simon Riggs 2018-10-31 08:15:08 Re: [HACKERS] generated columns