From a666d28543f81cc0a5f4b8a4b378957432610111 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <peter_e@gmx.net> Date: Thu, 18 Dec 2008 10:45:00 +0000 Subject: [PATCH] Add note that TRUNCATE uses an access exclusive lock. This apparently surprised/confused some users. --- doc/src/sgml/ref/truncate.sgml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/ref/truncate.sgml b/doc/src/sgml/ref/truncate.sgml index 03a66859082..d765c1bd8c7 100644 --- a/doc/src/sgml/ref/truncate.sgml +++ b/doc/src/sgml/ref/truncate.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ref/truncate.sgml,v 1.30 2008/11/14 10:22:47 petere Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ref/truncate.sgml,v 1.31 2008/12/18 10:45:00 petere Exp $ PostgreSQL documentation --> @@ -102,6 +102,13 @@ TRUNCATE [ TABLE ] <replaceable class="PARAMETER">name</replaceable> [, ... ] to truncate it. </para> + <para> + <command>TRUNCATE</> acquires an access exclusive lock on the + tables in operates on, which blocks all other concurrent operations + on the table. If concurrent access to a table is required, then + the <command>DELETE</> command should be used instead. + </para> + <para> <command>TRUNCATE</> cannot be used on a table that has foreign-key references from other tables, unless all such tables are also truncated -- GitLab