Re: Add --include-table-data-where option to pg_dump, to export onlya subset of table data - Mailing list pgsql-hackers

From Carter Thaxton
Subject Re: Add --include-table-data-where option to pg_dump, to export onlya subset of table data
Date
Msg-id CAGiT_HMC-0O1KOOKRZk4bfooxdZJS1djHf8EJFAKxG4n0UL34g@mail.gmail.com
Whole thread Raw
In response to Re: Add --include-table-data-where option to pg_dump, to export onlya subset of table data  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Add --include-table-data-where option to pg_dump, to export onlya subset of table data
Re: Add --include-table-data-where option to pg_dump, to export onlya subset of table data
List pgsql-hackers
The whole reason for the colon in the --where option is to indicate which table the WHERE clause should refer to, so that one can dump less than all of the rows.
The --table option is totally different.  It specifies which tables to dump at all.

If I provide a --where option, and no --table option, I want the WHERE clause to apply to the given table, and otherwise dump all tables.
If one supplies a --table option, it won't dump all tables - it will only dump the one specified.  I don't want to have to specify all the tables with --table, just to use the --where option.

Also, there may be some misunderstanding about "foo:bar" above.  That's an example of using a namespaced table, where "bar" is a table in the namespace "foo".  Normally, assuming your table is named "bar" in the default namespace, you would just say something like:

  pg_dump --where "bar:created_at >= 2018-05-01'"


On Mon, Jul 2, 2018 at 11:27 AM, Robert Haas <robertmhaas@gmail.com> wrote:
On Fri, Jun 29, 2018 at 8:09 AM, Surafel Temesgen <surafel3000@gmail.com> wrote:
> hey,
> i am reviewing this patch
> On Thu, May 31, 2018 at 4:49 AM, Carter Thaxton <carter.thaxton@gmail.com>
> wrote:
>>
>>
>>   pg_dump --where '"foo:bar":created_at >= '2018-05-01'" dbname
>
> it would be more sqlish if it specified like:
> --table=foo --where ="bar created_at >= 2018-05-01"
> and i don't like the idea of duplicating the existing --table behavior it
> may confuse user
> i rather recommend extending it. And when i test it with --table option the
> content of dump
> file depend on the option specified first.

But you can specify multiple tables.  You wouldn't want the same WHERE
clause to apply to all of them.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: [HACKERS] Small improvement to compactify_tuples
Next
From: Nico Williams
Date:
Subject: Re: [Proposal] Table-level Transparent Data Encryption (TDE) and KeyManagement Service (KMS)