diff --git a/doc/src/sgml/ref/alter_foreign_table.sgml b/doc/src/sgml/ref/alter_foreign_table.sgml
index 4d8cfc522e..9d9c439315 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 ] namecolumn_name SET ( attribute_option = value [, ... ] )
ALTER [ COLUMN ] column_name RESET ( attribute_option [, ... ] )
ALTER [ COLUMN ] column_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ])
+ DISABLE TRIGGER [ trigger_name | ALL | USER ]
+ ENABLE TRIGGER [ trigger_name | ALL | USER ]
+ ENABLE REPLICA TRIGGER trigger_name
+ ENABLE ALWAYS TRIGGER trigger_name
OWNER TO new_owner
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ])
@@ -148,6 +152,17 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name
+
+ DISABLE/ENABLE [ REPLICA | ALWAYS ] TRIGGER
+
+
+ These forms configure the firing of trigger(s) belonging to the foreign
+ table. See the similar form of for more
+ details.
+
+
+
+
OWNER
@@ -289,6 +304,37 @@ ALTER FOREIGN TABLE [ IF EXISTS ] name
+
+ trigger_name
+
+
+ Name of a single trigger to disable or enable.
+
+
+
+
+
+ ALL
+
+
+ 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.)
+
+
+
+
+
+ USER
+
+
+ Disable or enable all triggers belonging to the foreign table except
+ for internally generated triggers.
+
+
+
+
new_owner
diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml
index 1782be42fc..e338554995 100644
--- a/doc/src/sgml/release-9.4.sgml
+++ b/doc/src/sgml/release-9.4.sgml
@@ -191,6 +191,18 @@
+
+
+ Writable foreign data wrappers must return all columns when the foreign
+ table has an AFTER ROW> trigger (Noah Misch)
+
+
+
+ Previously, foreign tables never had triggers, and
+ the RETURNING> clause alone dictated the columns required.
+
+
+
Rename EXPLAIN