aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/src/sgml/event-trigger.sgml16
1 files changed, 11 insertions, 5 deletions
diff --git a/doc/src/sgml/event-trigger.sgml b/doc/src/sgml/event-trigger.sgml
index 48703713d77..71241c82245 100644
--- a/doc/src/sgml/event-trigger.sgml
+++ b/doc/src/sgml/event-trigger.sgml
@@ -41,14 +41,20 @@
mechanism does not support these object types.
<literal>ddl_command_start</> also occurs just before the execution of a
<literal>SELECT INTO</literal> command, since this is equivalent to
- <literal>CREATE TABLE AS</literal>.
+ <literal>CREATE TABLE AS</literal>. The <literal>ddl_command_end</>
+ event occurs just after the execution of this same set of commands.
</para>
<para>
- The <literal>ddl_command_end</> event occurs just before returning
- control from the execution of a <literal>CREATE</>, <literal>ALTER</>,
- or <literal>DROP</> command. It shares the same exceptions as
- the <literal>ddl_command_start</> event.
+ Event triggers (like other functions) cannot be executed in an aborted
+ transaction. Thus, if a DDL command fails with an error, any associated
+ <literal>ddl_command_end</> triggers will not be executed. Conversely,
+ if a <literal>ddl_command_start</> trigger fails with an error, no
+ further event triggers will fire, and no attempt will be made to execute
+ the command itself. Similarly, if a <literal>ddl_command_end</> trigger
+ fails with an error, the effects of the DDL statement will be rolled
+ back, just as they would be in any other case where the containing
+ transaction aborts.
</para>
<para>