Re: BUG #19013: When creating a table with the "...LIKE...INCLUDING ALL" construct, REPLICA IDENTITY output is wrong

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: "dbman@sqlexec.com" <dbman@sqlexec.com>
Cc: "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2025-08-06T14:53:37Z
Lists: pgsql-bugs

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add the notion of REPLICA IDENTITY for a table.

On Wednesday, August 6, 2025, dbman@sqlexec.com <dbman@sqlexec.com> wrote:

> On 8/5/2025 7:01 PM, David G. Johnston wrote:
>
> On Tue, Aug 5, 2025 at 2:43 PM PG Bug reporting form <
> noreply@postgresql.org> wrote:
>
>> The following bug has been logged on the website:
>>
>> Bug reference:      19013
>> Logged by:          Michael Vitale
>> Email address:      dbman@sqlexec.com
>> PostgreSQL version: 17.5
>> Operating system:   CentOS 8 Streams
>> Description:
>>
>>
> We don't document that the replica identity attribute of a table is
> something that can be copied.  'ALL' only covers those things which are
> documented as being copy-able.
>
> David J.
>
> I understand your logic about not everything is copy-able, just what is
> documented, but this is a different case.  I am not complaining that it is
> not copying the REPLICA IDENTITY, but rather that it is copying it in a
> WRONG WAY, changing its property from FULL to DEFAULT.  I think that is a
> reasonable complaint.  If you are going to attempt to copy it erroneously,
> then I think you should consider that a bug and fix it.  Otherwise, remove
> it and don't try to copy it.  Does that seem reasonable?
>

Reading the docs, if you just perform a create table (no like) you’ll find
pg_class.relreplident is set to “d”.  That field is never null.  There is
no concept of “remove it”.

David J.