mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Logical replication support for TRUNCATE
Update the built-in logical replication system to make use of the previously added logical decoding for TRUNCATE support. Add the required truncate callback to pgoutput and a new logical replication protocol message. Publications get a new attribute to determine whether to replicate truncate actions. When updating a publication via pg_dump from an older version, this is not set, thus preserving the previous behavior. Author: Simon Riggs <simon@2ndquadrant.com> Author: Marco Nenciarini <marco.nenciarini@2ndquadrant.it> Author: Peter Eisentraut <peter.eisentraut@2ndquadrant.com> Reviewed-by: Petr Jelinek <petr.jelinek@2ndquadrant.com> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
This commit is contained in:
3
src/backend/utils/cache/relcache.c
vendored
3
src/backend/utils/cache/relcache.c
vendored
@ -5339,6 +5339,7 @@ GetRelationPublicationActions(Relation relation)
|
||||
pubactions->pubinsert |= pubform->pubinsert;
|
||||
pubactions->pubupdate |= pubform->pubupdate;
|
||||
pubactions->pubdelete |= pubform->pubdelete;
|
||||
pubactions->pubtruncate |= pubform->pubtruncate;
|
||||
|
||||
ReleaseSysCache(tup);
|
||||
|
||||
@ -5347,7 +5348,7 @@ GetRelationPublicationActions(Relation relation)
|
||||
* other publications.
|
||||
*/
|
||||
if (pubactions->pubinsert && pubactions->pubupdate &&
|
||||
pubactions->pubdelete)
|
||||
pubactions->pubdelete && pubactions->pubtruncate)
|
||||
break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user