which causes i.indkey to be null, and then is_identity to be null.
Logical replication on tables without a replica identity is support for inserts but not for updates or deletes.
If an update or delete is found, an error is thrown.
I think it would make sense to ignore that nuance ^ and enforce that all tables in the publication have a replica identity before startup. If any of them do not have a replica identity, then raise an error message explaining that they need to add a unique key or set the replica identity to full.
When a table included in the referenced publication does not have a replica identity, pg_replicate crashes on start
Test the
stdout
exampleResults in
That occurs because
returns
null
https://github.com/imor/pg_replicate/blob/815e96d36c8a29ada355b8b3737c80ee9b4aa780/pg_replicate/src/clients/postgres.rs#L136-L139
which causes
i.indkey
to be null, and thenis_identity
to be null.Logical replication on tables without a replica identity is support for
insert
s but not forupdate
s ordelete
s. If anupdate
ordelete
is found, an error is thrown.I think it would make sense to ignore that nuance ^ and enforce that all tables in the publication have a replica identity before startup. If any of them do not have a replica identity, then raise an error message explaining that they need to add a unique key or set the replica identity to full.