Re: possibility of partial data dumps with pg_dump

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Никита Старовойтов <nikstarall(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: possibility of partial data dumps with pg_dump
Date: 2022-10-04 12:15:16
Message-ID: CAFj8pRCmJThXEpYiBzYSD32ECJa2zRE1SD5-=tnRCpzS8_Ytqw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

út 4. 10. 2022 v 12:48 odesílatel Никита Старовойтов <nikstarall(at)gmail(dot)com>
napsal:

> Hello,
> with a view to meeting with postgres code and to get some practice with
> it, I am making a small patch that adds the possibility of partial tables
> dump.
> A rule of filtering is specified with standard SQL where clause (without
> "where" keyword)
> There are three ways to send data filters over command line:
>
> 1) using table pattern in "where" parameter with divider '@'
> ... --where "table_pattern(at)where_condition" ...
>
> "Where" condition will be used for all tables that match the search
> pattern.
>
> 2) using table parameter before any table inclusion
> ... --where "where condition" ...
>
> All tables in databases will be filtered with input condition.
>
> 3) using "where" parameter after table pattern
> ... -t table_pattern --where where_condition ...
>
> Only tables matching to last pattern before --where will be filtered.
> Third way is necessary to shorten the command
> line and to avoid duplicating tables pattern when specific tables are
> dumped.
>
> Also filters may be input from files.
> A file consists of lines, and every line is a table pattern or a where
> condition for data.
> For example, file
> """
> where column_name_1 == 1
> table_pattern
> table_pattern where column_name_2 == 1
> """
> corresponds to parameters
>
> --where "column_name_1 == 1" -t table_pattern --where "column_name_2 == 1"
>
> The file format is not very good, because it doesn't provide sending
> patterns of other components such as schemas for example.
> And I am ready to change it, if functionality is actually needed.
>
> All use cases are provided with tests.
>
> I will be grateful if patch will get a discussion.
>

What is benefit and use case? For this case I don't see any benefit against
simple

\copy (select * from xx where ...) to file CSV

or how hard is it to write trivial application that does export of what you
want in the format that you want?

Regards

Pavel

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Rouhaud 2022-10-04 12:24:24 Re: possibility of partial data dumps with pg_dump
Previous Message Ranier Vilela 2022-10-04 11:29:23 Re: Reducing the chunk header sizes on all memory context types