Hi Recently I ran into a case where someone was wondering why it was not possible to dump the contents of a view, even though the documentation [1] seems to imply this is possible.
Currently it says: Dump only tables with names matching pattern. For this purpose, "table" includes views, materialized views, sequences, and foreign tables. The attached patch attempts to clarify that only definitions of those objects will be dumped, and also mentions that dumping foreign table data requires the --include-foreign-data option. I suggest backpatching any changes to Pg13 where the --include-foreign-data option was added. [1] https://www.postgresql.org/docs/current/app-pgdump.html Regards Ian Barwick -- EnterpriseDB: https://www.enterprisedb.com
commit 7240af7e6b7168ff1ad1790c6537b29f93fb6891 Author: Ian Barwick <barw...@gmail.com> Date: Tue Oct 6 21:40:37 2020 +0900 doc: clarify behaviour of pg_dump's -t/--table option The existing wording gives the impression it might be possible to dump the contents of views, which is not possible. Also, from PostgreSQL 13 it is possible to dump the contents of foreign tables, but this requires the --include-foreign-data option. diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index f99dc3f31e..4e2c80983e 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -517,9 +517,7 @@ PostgreSQL documentation <listitem> <para> Dump only tables with names matching - <replaceable class="parameter">pattern</replaceable>. - For this purpose, <quote>table</quote> includes views, materialized views, - sequences, and foreign tables. Multiple tables + <replaceable class="parameter">pattern</replaceable>. Multiple tables can be selected by writing multiple <option>-t</option> switches. The <replaceable class="parameter">pattern</replaceable> parameter is interpreted as a pattern according to the same rules used by @@ -531,6 +529,14 @@ PostgreSQL documentation <xref linkend="pg-dump-examples"/> below. </para> + <para> + As well as tables, this option can be used to dump views, materialized views, + foreign tables, and sequence definitions. However it will not dump the contents + of views or materialized views, and the contents of foreign tables will only be + dumped if the corresponding foreign server is specified with + <option>--include-foreign-data</option>. + </para> + <para> The <option>-n</option> and <option>-N</option> switches have no effect when <option>-t</option> is used, because tables selected by <option>-t</option> will