On Mon, 2006-10-30 at 19:28 -0500, Tom Lane wrote:
> Neil Conway <[EMAIL PROTECTED]> writes:
> > On Mon, 2006-10-30 at 22:56 +0000, Simon Riggs wrote:
> >> The man pages for VACUUM, CREATE TABLESPACE, CLUSTER and
> >> REINDEX DATABASE don't mention they are not allowed inside a transaction
> >> block at all
>
> > That should be fixed, I think. Once that is done, I think it's
> > sufficient to just say that --single-transaction won't work for commands
> > that can't be executed in a transaction block.
>
> That's what makes sense to me, too.
As requested.
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com
Index: doc/src/sgml/ref/cluster.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/cluster.sgml,v
retrieving revision 1.36
diff -c -r1.36 cluster.sgml
*** doc/src/sgml/ref/cluster.sgml 16 Sep 2006 00:30:17 -0000 1.36
--- doc/src/sgml/ref/cluster.sgml 31 Oct 2006 01:05:48 -0000
***************
*** 60,67 ****
in the
current database that the calling user owns, or all tables if called
by a superuser. (Never-clustered tables are not included.) This
! form of <command>CLUSTER</command> cannot be called from inside a
! transaction or function.
</para>
<para>
--- 60,67 ----
in the
current database that the calling user owns, or all tables if called
by a superuser. (Never-clustered tables are not included.) This
! form of <command>CLUSTER</command> cannot be executed inside a transaction
! block.
</para>
<para>
Index: doc/src/sgml/ref/create_tablespace.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/create_tablespace.sgml,v
retrieving revision 1.6
diff -c -r1.6 create_tablespace.sgml
*** doc/src/sgml/ref/create_tablespace.sgml 16 Sep 2006 00:30:17 -0000 1.6
--- doc/src/sgml/ref/create_tablespace.sgml 31 Oct 2006 01:05:48 -0000
***************
*** 95,100 ****
--- 95,105 ----
<para>
Tablespaces are only supported on systems that support symbolic links.
</para>
+
+ <para>
+ <command>CREATE TABLESPACE</> cannot be executed inside a transaction
+ block.
+ </para>
</refsect1>
<refsect1>
Index: doc/src/sgml/ref/drop_tablespace.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/drop_tablespace.sgml,v
retrieving revision 1.4
diff -c -r1.4 drop_tablespace.sgml
*** doc/src/sgml/ref/drop_tablespace.sgml 16 Sep 2006 00:30:18 -0000 1.4
--- doc/src/sgml/ref/drop_tablespace.sgml 31 Oct 2006 01:05:49 -0000
***************
*** 67,72 ****
--- 67,81 ----
</refsect1>
<refsect1>
+ <title>Notes</title>
+
+ <para>
+ <command>DROP TABLESPACE</> cannot be executed inside a transaction block.
+ </para>
+ </refsect1>
+
+
+ <refsect1>
<title>Examples</title>
<para>
Index: doc/src/sgml/ref/psql-ref.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v
retrieving revision 1.172
diff -c -r1.172 psql-ref.sgml
*** doc/src/sgml/ref/psql-ref.sgml 23 Oct 2006 18:10:32 -0000 1.172
--- doc/src/sgml/ref/psql-ref.sgml 31 Oct 2006 01:05:50 -0000
***************
*** 472,480 ****
<option>-f</> option, adding this option wraps
<command>BEGIN</>/<command>COMMIT</> around the script to execute it
as a single transaction. This ensures that either all the commands
! complete successfully, or no changes are applied. (However, if the
! script itself uses <command>BEGIN</> or <command>COMMIT</>, this
! option will not have the desired effect!)
</para>
</listitem>
</varlistentry>
--- 472,489 ----
<option>-f</> option, adding this option wraps
<command>BEGIN</>/<command>COMMIT</> around the script to execute it
as a single transaction. This ensures that either all the commands
! complete successfully, or no changes are applied.
! </para>
! <para>
! However, if the script itself uses <command>BEGIN</>, <command>COMMIT</> or any
! commands that cannot be executed inside a transaction block then this option
! will simply cause all changes to fail. See the individual command manual pages.
! </para>
! <para>
! You are advised to set the following variable when using this option:
! <programlisting>
! \set ON_ERROR_STOP
! </programlisting>
</para>
</listitem>
</varlistentry>
Index: doc/src/sgml/ref/reindex.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/reindex.sgml,v
retrieving revision 1.33
diff -c -r1.33 reindex.sgml
*** doc/src/sgml/ref/reindex.sgml 16 Sep 2006 00:30:19 -0000 1.33
--- doc/src/sgml/ref/reindex.sgml 31 Oct 2006 01:05:50 -0000
***************
*** 106,112 ****
<para>
Recreate all indexes within the current database.
Indexes on shared system catalogs are skipped except in stand-alone mode
! (see below).
</para>
</listitem>
</varlistentry>
--- 106,113 ----
<para>
Recreate all indexes within the current database.
Indexes on shared system catalogs are skipped except in stand-alone mode
! (see below). This form of <command>REINDEX</command> cannot be executed
! inside a transaction block.
</para>
</listitem>
</varlistentry>
***************
*** 118,123 ****
--- 119,126 ----
Recreate all indexes on system catalogs within the current database.
Indexes on user tables are not processed. Also, indexes on shared
system catalogs are skipped except in stand-alone mode (see below).
+ This form of <command>REINDEX</command> cannot be executed inside a
+ transaction block.
</para>
</listitem>
</varlistentry>
Index: doc/src/sgml/ref/vacuum.sgml
===================================================================
RCS file: /projects/cvsroot/pgsql/doc/src/sgml/ref/vacuum.sgml,v
retrieving revision 1.41
diff -c -r1.41 vacuum.sgml
*** doc/src/sgml/ref/vacuum.sgml 16 Sep 2006 00:30:20 -0000 1.41
--- doc/src/sgml/ref/vacuum.sgml 31 Oct 2006 01:05:50 -0000
***************
*** 156,161 ****
--- 156,165 ----
<title>Notes</title>
<para>
+ <command>VACUUM</> cannot be executed inside a transaction block.
+ </para>
+
+ <para>
We recommend that active production databases be
vacuumed frequently (at least nightly), in order to
remove expired rows. After adding or deleting a large number
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend