Обсуждение: Does TRUNCATE emit changes with REPLICA IDENTITY FULL?

Поиск
Список
Период
Сортировка

Does TRUNCATE emit changes with REPLICA IDENTITY FULL?

От
PG Doc comments form
Дата:
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.

Re: Does TRUNCATE emit changes with REPLICA IDENTITY FULL?

От
Michael Paquier
Дата:
On Mon, Nov 11, 2019 at 09:19:52AM +0000, PG Doc comments form wrote:
> 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?

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

Вложения