mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Read include/exclude commands for dump/restore from file
When there is a need to filter multiple tables with include and/or exclude options it's quite possible to run into the limitations of the commandline. This adds a --filter=FILENAME feature to pg_dump, pg_dumpall and pg_restore which is used to supply a file containing object exclude/include commands which work just like their commandline counterparts. The format of the file is one command per row like: <command> <object> <objectpattern> <command> can be "include" or "exclude", <object> can be table_data, index table_data_and_children, database, extension, foreign_data, function, table schema, table_and_children or trigger. This patch has gone through many revisions and design changes over a long period of time, the list of reviewers reflect reviewers of some version of the patch, not necessarily the final version. Patch by Pavel Stehule with some additional hacking by me. Author: Pavel Stehule <pavel.stehule@gmail.com> Reviewed-by: Justin Pryzby <pryzby@telsasoft.com> Reviewed-by: vignesh C <vignesh21@gmail.com> Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com> Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com> Reviewed-by: Julien Rouhaud <rjuju123@gmail.com> Reviewed-by: Erik Rijkers <er@xs4all.nl> Discussion: https://postgr.es/m/CAFj8pRB10wvW0CC9Xq=1XDs=zCQxer3cbLcNZa+qiX4cUH-G_A@mail.gmail.com
This commit is contained in:
@@ -125,6 +125,37 @@ PostgreSQL documentation
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>--filter=<replaceable class="parameter">filename</replaceable></option></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specify a filename from which to read patterns for databases excluded
|
||||
from the dump. The patterns are interpreted according to the same rules
|
||||
as <option>--exclude-database</option>.
|
||||
To read from <literal>STDIN</literal>, use <filename>-</filename> as the
|
||||
filename. The <option>--filter</option> option can be specified in
|
||||
conjunction with <option>--exclude-database</option> for excluding
|
||||
databases, and can also be specified more than once for multiple filter
|
||||
files.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The file lists one database pattern per row, with the following format:
|
||||
<synopsis>
|
||||
exclude database <replaceable class="parameter">PATTERN</replaceable>
|
||||
</synopsis>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Lines starting with <literal>#</literal> are considered comments and
|
||||
ignored. Comments can be placed after an object pattern row as well.
|
||||
Blank lines are also ignored. See <xref linkend="app-psql-patterns"/>
|
||||
for how to perform quoting in patterns.
|
||||
</para>
|
||||
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-g</option></term>
|
||||
<term><option>--globals-only</option></term>
|
||||
|
Reference in New Issue
Block a user