Re: error message when subscription target is a partitioned table

Amit Langote <langote_amit_f8@lab.ntt.co.jp>

From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Michael Paquier <michael@paquier.xyz>, Magnus Hagander <magnus@hagander.net>
Cc: Tatsuo Ishii <ishii@sraoss.co.jp>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-12-06T02:34:19Z
Lists: pgsql-hackers
On 2018/12/06 11:28, Amit Langote wrote:
> On 2018/12/05 10:28, Amit Langote wrote:
>> On 2018/12/05 10:20, Michael Paquier wrote:
>>> On Tue, Dec 04, 2018 at 09:25:09AM +0100, Magnus Hagander wrote:
>>>> I think more people would directly understand the "is not a table" for a
>>>> foreign table than a partitioned one (for example, it does now show up in
>>>> \dt or under tables in pgadmin, but partitioned ones do). That said, if
>>>> it's not too complicated, I think including foreign tables as well would
>>>> definitely be useful, because it has table in the name. For the other
>>>> types, I agree they don't need to be special-cased, they are fine the way
>>>> they are.
>>>
>>> relkind is directly available in this code path, so it is not that hard
>>> to add.  As you suggest, foreign tables make sense to add as those are
>>> actually *tables*.  And it seems to me that we should also add toast
>>> tables for clarity for the same reason.
>>
>> Considering toast tables here seems like a stretch to me, because they're
>> not user defined.  Chances of users adding a table to a publication whose
>> name matches that of a toast table's on the subscription side seems thin
>> too.  Partitioned tables and foreign tables are user-defined and something
>> they'd expect to be handled appropriately.
> 
> Attached updated patch that adds the check for foreign tables.

Adding to January CF.

Thanks,
Amit




Commits

  1. Improve error messages for incorrect types of logical replication targets