Re: Re: pg_dump new feature: exporting functions only. Bad or good idea ? - Mailing list pgsql-hackers

From David G. Johnston
Subject Re: Re: pg_dump new feature: exporting functions only. Bad or good idea ?
Date
Msg-id CAKFQuwYcw+A+MyDQoVahKkEqJtgih3c1i-JLY_YPMucNfgQDkg@mail.gmail.com
Whole thread Raw
In response to Re: Re: pg_dump new feature: exporting functions only. Bad or good idea ?  (Chapman Flack <chap@anastigmatix.net>)
Responses Re: Re: pg_dump new feature: exporting functions only. Bad or good idea ?  (Laetitia Avrot <laetitia.avrot@gmail.com>)
List pgsql-hackers
On Thu, Mar 24, 2022 at 4:42 PM Chapman Flack <chap@anastigmatix.net> wrote:
On 03/27/21 08:57, Andrew Dunstan wrote:
> We can bikeshed the name of the flag at some stage. --procedures-only
> might also make sense

Any takers for --routines-only ?

"Routine" is the genuine, ISO SQL umbrella term for a function or
procedure, and we have used it that way in our docs and glossary.


Regardless of the prefix name choice neither blobs, tables, nor schemas use the "-only" suffix so I don't see that this should.  I have no issue if we add three options for this: --routine/--procedure/--function (these are singular because --table and --schema are singular)

--blobs and --no-blobs are special so let us just build off of the API already implemented for --table/--exclude-table

No short option is required, and honestly I don't think it is worthwhile to take up short options for this, acknowledging that we are leaving -t/-T (and -n/-N) in place for legacy support.

--blobs reacts to these additional object types in the same manner that it reacts to --table.  As soon as any of these object type inclusion options is specified nothing except the options that are specified will be output.  Both data and schema, though, for most object types, data is not relevant.  If schema is not output then options that control schema content objects only are ignored.

The --exclude-* options behave in the same way as defined for -t/-T, specifically the note in -T about when both are present.

As with tables, the affirmative version of these overrides any --schema (-n/-N) specification provided.  But the --exclude-* versions of these do omit the named objects from the dump should they have been selected by --schema.

David J.

pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Column Filtering in Logical Replication
Next
From: "David G. Johnston"
Date:
Subject: Re: pg_dump new feature: exporting functions only. Bad or good idea ?