RE: doc: clarify the limitation for logical replication when REPILICA IDENTITY is FULL
Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com>
From: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
To: 'Amit Kapila' <amit.kapila16@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, Önder Kalacı <onderkalaci@gmail.com>
Date: 2023-07-11T07:00:03Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Doc: Update the logical replication restriction w.r.t Replica Identity Full.
- 961cf5c9055f 17.0 landed
Attachments
- v3_add_description.patch (application/octet-stream) patch v3
Dear Amit, > Isn't the same true for the hash operator class family as well? True. I didn't write it on purpose because I didn't know the operator which is operator class for BTree but not for Hash. But I agreed to clarify it. > Can we > slightly change the line as: "... the table includes an attribute > whose datatype doesn't have an equality operator defined for it..". Hmm, this suggestion is dubious for me. Regarding the point datatype, it has the "same as" operator [1]. E.g., following SQL returns true. ``` postgres=# select point '(1, 1)' ~= point '(1, 1)'; ?column? ---------- t (1 row) ``` The reason why they cannot be supported by tuples_equal() is that lookup_type_cache() only checks the operator classes for Btree and Hash. ~= does not defined as the class. > Also, I find the proposed wording a bit odd, can we swap the sentence > to say something like: "The UPDATE and DELETE operations cannot be > replicated for the published tables that specifies REPLICA IDENTITY > FULL but the table includes an attribute whose datatype doesn't have > an equality operator defined for it on the subscriber."? Swapped. But based on above reply, I did not completely use your suggestion. [1]: https://www.postgresql.org/docs/devel/functions-geometry.html Best Regards, Hayato Kuroda FUJITSU LIMITED