diff --git a/doc/src/sgml/ref/alter_foreign_table.sgml b/doc/src/sgml/ref/alter_foreign_table.sgml index 4d8cfc522e0..9d9c439315f 100644 --- a/doc/src/sgml/ref/alter_foreign_table.sgml +++ b/doc/src/sgml/ref/alter_foreign_table.sgml @@ -42,6 +42,10 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceab ALTER [ COLUMN ] <replaceable class="PARAMETER">column_name</replaceable> SET ( <replaceable class="PARAMETER">attribute_option</replaceable> = <replaceable class="PARAMETER">value</replaceable> [, ... ] ) ALTER [ COLUMN ] <replaceable class="PARAMETER">column_name</replaceable> RESET ( <replaceable class="PARAMETER">attribute_option</replaceable> [, ... ] ) ALTER [ COLUMN ] <replaceable class="PARAMETER">column_name</replaceable> OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ]) + DISABLE TRIGGER [ <replaceable class="PARAMETER">trigger_name</replaceable> | ALL | USER ] + ENABLE TRIGGER [ <replaceable class="PARAMETER">trigger_name</replaceable> | ALL | USER ] + ENABLE REPLICA TRIGGER <replaceable class="PARAMETER">trigger_name</replaceable> + ENABLE ALWAYS TRIGGER <replaceable class="PARAMETER">trigger_name</replaceable> OWNER TO <replaceable class="PARAMETER">new_owner</replaceable> OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ]) </synopsis> @@ -148,6 +152,17 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceab </listitem> </varlistentry> + <varlistentry> + <term><literal>DISABLE</literal>/<literal>ENABLE [ REPLICA | ALWAYS ] TRIGGER</literal></term> + <listitem> + <para> + These forms configure the firing of trigger(s) belonging to the foreign + table. See the similar form of <xref linkend="sql-altertable"> for more + details. + </para> + </listitem> + </varlistentry> + <varlistentry> <term><literal>OWNER</literal></term> <listitem> @@ -289,6 +304,37 @@ ALTER FOREIGN TABLE [ IF EXISTS ] <replaceable class="PARAMETER">name</replaceab </listitem> </varlistentry> + <varlistentry> + <term><replaceable class="PARAMETER">trigger_name</replaceable></term> + <listitem> + <para> + Name of a single trigger to disable or enable. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>ALL</literal></term> + <listitem> + <para> + Disable or enable all triggers belonging to the foreign table. (This + requires superuser privilege if any of the triggers are internally + generated triggers. The core system does not add such triggers to + foreign tables, but add-on code could do so.) + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>USER</literal></term> + <listitem> + <para> + Disable or enable all triggers belonging to the foreign table except + for internally generated triggers. + </para> + </listitem> + </varlistentry> + <varlistentry> <term><replaceable class="PARAMETER">new_owner</replaceable></term> <listitem> diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml index 1782be42fc4..e338554995d 100644 --- a/doc/src/sgml/release-9.4.sgml +++ b/doc/src/sgml/release-9.4.sgml @@ -191,6 +191,18 @@ </para> </listitem> + <listitem> + <para> + Writable foreign data wrappers must return all columns when the foreign + table has an <literal>AFTER ROW</> trigger (Noah Misch) + </para> + + <para> + Previously, foreign tables never had triggers, and + the <literal>RETURNING</> clause alone dictated the columns required. + </para> + </listitem> + <listitem> <para> Rename <link linkend="SQL-EXPLAIN"><command>EXPLAIN