Hello all,

Le sam. 26 mars 2022 à 01:13, Michael Paquier <mich...@paquier.xyz> a
écrit :

> On Fri, Mar 25, 2022 at 10:09:33PM +0100, Daniel Gustafsson wrote:
> > Agreed.  In this case it seems that adding --exclude-extension would
> make sense
> > to keep conistency.  I took a quick stab at doing so with the attached
> while
> > we're here.
>
> src/test/modules/test_pg_dump would be the best place for the addition
> of a couple of tests with this new switch.  Better to check as well
> what happens when a command collides with --extension and
> --exclude-extension.
>
>     printf(_("  -e, --extension=PATTERN      dump the specified
> extension(s) only\n"));
> +   printf(_("  --exclude-extension=PATTERN  do NOT dump the specified
> extension(s)\n"));
> Shouldn't this be listed closer to --exclude-table-data in the --help
> output?
>

I think it's time to sum up what we want to do:

- We'd like to use switches to export objects according to a pattern.
- For each object type we will have an --object=PATTERN flag and a
--exclude-object=PATTERN
- Having a short flag for each of the long flags is not mandatory
- The object types that pg_dump can select so far are:
    - table (already written)
    - schema (already written)
    - extension (half-written, --exclude-extension not written)
    - routine (TBD ASAP). Routine flag operates on stored functions, stored
procedures, aggregate functions, and window functions.
- By default, pg_dump does not export system objects but we found out that
we could use --table='pg_catalog.*' to export them. This is a bug and will
be fixed. pg_dump won't have the ability to export any system object
anymore. Should the fix belong to that patch or do I need to create a
separate patch? (Seems to me it should be separated)

If everyone is ok with the points above, I'll write both patches.

Have a nice day,

Lætitia

Reply via email to