Subject: Does TRUNCATE emit changes with REPLICA IDENTITY FULL?

From: PG Doc comments form <[email-masked]>
Date: Mon, 11 Nov 2019 09:19:52 +0000

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/11/sql-truncate.html
Description:

Hi,

The documentation says that TRUNCATE ignores ON DELETE triggers, but it
doesn't explicitly mention what happens if we use `wal_level = logical` and
`REPLICA IDENTITY FULL`. Does TRUNCATE emit changes for each row and clog
the WAL, or will it still be blazing fast?

Kind Regards,,
m.

---

From: Michael Paquier <[email-masked]>
Date: Tue, 12 Nov 2019 09:44:32 +0900

> the WAL, or will it still be blazing fast?

Truncate does not issue per-row changes with a full replica identity
in this context.  It roughly just takes an exclusive lock on the
table, then physically removes all the files related to the table.
--
Michael