On Mon, 14 Apr 2025, Tom Lane wrote:
Dimitrios Apostolou <ji...@gmx.net> writes:
While doing TRUNCATE ONLY I get:
ERROR: cannot truncate a table referenced in a foreign key constraint
But in my case the table to be truncated is already empty, and the
TRIGGERS are disabled in all tables.
IIRC, it will let you do it if you truncate both the referenced and
referencing tables in the same command. The state of the triggers
is not material to this, since TRUNCATE doesn't fire them anyway.
Thanks Tom, however that is not possible in my case, the referenced table
is possibly just populated and potentially very big (partitioned table
with many sub-partitions).
Context is that I've modified pg_restore to accept --data-only --clean,
and issues a TRUNCATE ONLY before each table's COPY, in the same
transaction (thus avoiding WAL too). Will send an RFC patch to
pgsql-hackers when I verify it works.
Dimitris