1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-31 22:04:40 +03:00

Improve pg_restore's -t switch to match all types of relations.

-t will now match views, foreign tables, materialized views, and sequences,
not only plain tables.  This is more useful, and also more consistent with
the behavior of pg_dump's -t switch, which has always matched all relation
types.

We're still not there on matching pg_dump's behavior entirely, so mention
that in the docs.

Craig Ringer, reviewed by Pavel Stehule
This commit is contained in:
Tom Lane
2015-07-02 18:13:34 -04:00
parent a5d489ccb7
commit 5671aaca87
4 changed files with 46 additions and 9 deletions

View File

@ -497,8 +497,10 @@ PostgreSQL documentation
<term><option>--table=<replaceable class="parameter">table</replaceable></option></term>
<listitem>
<para>
Dump only tables (or views or sequences or foreign tables) matching
<replaceable class="parameter">table</replaceable>. Multiple tables
Dump only tables with names matching
<replaceable class="parameter">table</replaceable>.
For this purpose, <quote>table</> includes views, materialized views,
sequences, and foreign tables. Multiple tables
can be selected by writing multiple <option>-t</> switches. Also, the
<replaceable class="parameter">table</replaceable> parameter is
interpreted as a pattern according to the same rules used by

View File

@ -395,10 +395,39 @@
<term><option>--table=<replaceable class="parameter">table</replaceable></option></term>
<listitem>
<para>
Restore definition and/or data of named table only. Multiple tables
may be specified with multiple <option>-t</> switches. This can be
combined with the <option>-n</option> option to specify a schema.
Restore definition and/or data of only the named table.
For this purpose, <quote>table</> includes views, materialized views,
sequences, and foreign tables. Multiple tables
can be selected by writing multiple <option>-t</> switches.
This option can be combined with the <option>-n</option> option to
specify table(s) in a particular schema.
</para>
<note>
<para>
When <option>-t</option> is specified, <application>pg_restore</>
makes no attempt to restore any other database objects that the
selected table(s) might depend upon. Therefore, there is no
guarantee that a specific-table restore into a clean database will
succeed.
</para>
</note>
<note>
<para>
This flag does not behave identically to the <option>-t</option>
flag of <application>pg_dump</application>. There is not currently
any provision for wild-card matching in <application>pg_restore</>,
nor can you include a schema name within its <option>-t</>.
</para>
</note>
<note>
<para>
In versions prior to <productname>PostgreSQL</> 9.6, this flag
matched only tables, not any other type of relation.
</para>
</note>
</listitem>
</varlistentry>
@ -494,7 +523,7 @@
fail if the user does not have the right to insert the rows from the
dump into the table.
</para>
<para>
Note that this option currently also requires the dump be in INSERT
format as COPY TO does not support row security.