View Issue Details

IDProjectCategoryView StatusLast Update
0006882SymmetricDSNew Featurepublic2025-07-10 17:13
Reporterpbelov Assigned Topbelov  
Prioritynormal 
Status closedResolutionfixed 
Product Version3.16.0 
Target Version3.16.4Fixed in Version3.16.4 
Summary0006882: Capture TRUNCATE table events in PostgreSQL database
DescriptionThe PostgreSQL database supports triggers for TRUNCATE table events.
Currently these events are not being captured by the existing DDL trigger feature.

The TRUNCATE table event in PostgreSQL is:
* A table-level event (not a row-level or schema-level event).
* Must be implemented via a function or procedure.

New parameter to turn on this feature (is not compatible with log-based replication or PostgreSQL older than version 14):
postgres.trigger.capture.truncate.event
Steps To ReproduceSet up a node with PostgreSQL database as a source.
Set the new start-up parameter
postgres.trigger.capture.truncate.event=true
(the trigger.capture.ddl.changes=true is optional in this case)

Create a test table :
   CREATE TABLE demo_small(id int);

Configure new SymmetricDS trigger for the demo_small table.

Execute truncate statement:
   TRUNCATE TABLE demo_small;

Observe: New sym_data records for the Truncate TAble event.
Additional InformationDue to issues with trigger rebuilds in versions of PostgreSQL 13 and older, this new feature (Truncate Event capture) is not supported on those versions.

PostgreSQL docs:
Create Trigger https://www.postgresql.org/docs/17/sql-createtrigger.html
Trigger functions https://www.postgresql.org/docs/current/functions-event-triggers.html
TagsNo tags attached.

Activities

pbelov

2025-07-10 17:10

manager   ~0003184

Included in the 3.16.4 release

Related Changesets

SymmetricDS: 3.16 db47bec0

2025-06-26 18:09:26

pbelov


Committer: GitHub Details Diff
006882: New trigger for the Truncate event in PostgreSQL and parameter postgres.trigger.capture.truncate.event (#289)

006882: New trigger for the Truncate event in PostgreSQL and parameter postgres.trigger.capture.truncate.event
Affected Issues
0006882
mod - symmetric-assemble/src/asciidoc/appendix/postgresql.ad Diff File
mod - symmetric-client/src/main/java/org/jumpmind/symmetric/db/postgresql/PostgreSqlSymmetricDialect.java Diff File
mod - symmetric-client/src/main/java/org/jumpmind/symmetric/db/postgresql/PostgreSqlTriggerTemplate.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractSymmetricDialect.java Diff File
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java Diff File
mod - symmetric-core/src/main/resources/symmetric-default.properties Diff File

Issue History

Date Modified Username Field Change
2025-05-09 18:18 pbelov New Issue
2025-05-09 18:18 pbelov Status new => assigned
2025-05-09 18:18 pbelov Assigned To => pbelov
2025-05-09 18:39 pbelov Status assigned => confirmed
2025-05-09 18:39 pbelov Description Updated View Revisions
2025-05-09 18:39 pbelov Steps to Reproduce Updated View Revisions
2025-05-09 18:39 pbelov Additional Information Updated View Revisions
2025-06-08 00:49 pbelov Target Version 3.16.3 => 3.16.4
2025-06-26 18:10 pbelov Status confirmed => resolved
2025-06-26 18:10 pbelov Resolution open => fixed
2025-06-26 18:10 pbelov Fixed in Version => 3.16.4
2025-06-26 19:00 pbelov Changeset attached => SymmetricDS 3.16 db47bec0
2025-07-02 13:29 pbelov Steps to Reproduce Updated View Revisions
2025-07-10 17:10 pbelov Note Added: 0003184
2025-07-10 17:10 pbelov Status resolved => closed
2025-07-10 17:13 pbelov Description Updated View Revisions
2025-07-10 17:13 pbelov Additional Information Updated View Revisions