Hi,
2016-11-03 8:22 GMT+01:00 amul sul <[email protected]>:
> Hi Guillaume,
>
> With your v2 patch, -B options working as expected but --no-blobs
> options is still unrecognized, this happens is because of you have
> forgot to add entry for 'no-blobs' in long_options[] array.
>
>
You're right. v3 (attached) fixes this.
> Apart from this concern patch looks good to me. Thanks
>
>
Thanks.
> Regards,
> Amul
>
> The new status of this patch is: Waiting on Author
>
> On Mon, Oct 24, 2016 at 12:19 AM, Guillaume Lelarge
> <[email protected]> wrote:
> > 2016-10-23 20:44 GMT+02:00 Guillaume Lelarge <[email protected]>:
> >>
> >> 2016-10-23 20:37 GMT+02:00 Andreas Joseph Krogh <[email protected]>:
> >>>
> >>> På søndag 23. oktober 2016 kl. 19:15:17, skrev Andreas Joseph Krogh
> >>> <[email protected]>:
> >>>
> >>> På søndag 23. oktober 2016 kl. 17:06:57, skrev Guillaume Lelarge
> >>> <[email protected]>:
> >>>
> >>> 2016-03-08 21:06 GMT+01:00 Andreas Joseph Krogh <[email protected]>:
> >>>>
> >>>> På tirsdag 08. mars 2016 kl. 21:03:01, skrev David G. Johnston
> >>>> <[email protected]>:
> >>>>
> >>>> On Tue, Mar 8, 2016 at 9:45 AM, Andreas Joseph Krogh
> >>>> <[email protected]> wrote:
> >>>>>
> >>>>> På tirsdag 08. mars 2016 kl. 17:38:04, skrev Joshua D. Drake
> >>>>> <[email protected]>:
> >>>>>
> >>>>> On 03/08/2016 08:02 AM, Andreas Joseph Krogh wrote:
> >>>>> > På tirsdag 08. mars 2016 kl. 16:57:01, skrev Tom Lane
> >>>>> > <[email protected]
> >>>>> > <mailto:[email protected]>>:
> >>>>> >
> >>>>> > Andreas Joseph Krogh <[email protected]> writes:
> >>>>> > > What I'm looking for is "inverse -b" in an otherwise
> complete
> >>>>> > dump. Any plans
> >>>>> > > to add that?
> >>>>> >
> >>>>> > [ shrug... ] Nobody ever asked for it before.
> >>>>> >
> >>>>> > regards, tom lane
> >>>>> >
> >>>>> > It surely helps testing production-datasets which contain lots of
> >>>>> > BLOBs
> >>>>> > where one wants to dump the production-data into a test-env. We
> have
> >>>>> > >1TB databases containing > 95% blobs so it would help us
> >>>>> > tremendously
> >>>>> > to have this option.
> >>>>>
> >>>>> I have quite a few customers that would benefit from the ability to
> not
> >>>>> have blobs present in dumps.
> >>>>>
> >>>>>
> >>>>> Great! So how do we proceed to get "--no-blobs" added to pg_dump?
> >>>>> Maybe CommandPrompt and Visena should co-fund development of such an
> >>>>> addition, if it's accepted by -hackers?
> >>>>> We'd be willing to pay for such an addition for the 9.5 branch, as a
> >>>>> patch.
> >>>>
> >>>>
> >>>> Unfortunately this doesn't qualify as a bug fix - it is a new feature
> >>>> and thus is ineligible for inclusion in official 9.5
> >>>>
> >>>> David J.
> >>>>
> >>>>
> >>>> Of course. That's why I mentioned that, if possible, an unofficial
> patch
> >>>> to 9.5 could be developed, funded partly by Visena (my company).
> Given that
> >>>> someone is willing to do this of course.
> >>>>
> >>>
> >>>
> >>> That probably should look like the patch attached. It applies cleanly
> on
> >>> HEAD, and works AFAICT. If this patch seems interesting enough, I'll
> add it
> >>> to the next commit fest (note for myself, update the ref/pg_dump.sgml
> >>> documentation file).
> >>>
> >>> For Andreas' information, it also applies on 9.5, though I didn't check
> >>> if it worked afterwards.
> >>>
> >>>
> >>> +1 for adding it to the commitfest.
> >>>
> >>
> >>
> >> Done, https://commitfest.postgresql.org/11/833/
> >>
> >>> It's almost scary how simple this patch is and noone ever got around to
> >>> implement it.
> >>
> >>
> >> Nobody had the time (like me, till now) or the motivation.
> >>
> >>>
> >>>
> >>> Thanks, I'll test it on 9.5 soon.
> >>>
> >>>
> >>> It's totally OK for me to use 9.6 (now that it's released) to dump 9.5
> >>> DBs, so I'm all good with this patch, thanks!
> >>
> >>
> >> Remember that, if it gets commited, it'll be for next release (aka 10),
> >> and not 9.6 and earlier.
> >>
> >
> > New patch, this time with the documentation.
> >
> >
>
--
Guillaume.
http://blog.guillaume.lelarge.info
http://www.dalibo.com
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index 371a614..83dc52f 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -145,6 +145,16 @@ PostgreSQL documentation
</varlistentry>
<varlistentry>
+ <term><option>-B</></term>
+ <term><option>--no-blobs</></term>
+ <listitem>
+ <para>
+ Exclude large objects in the dump.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-c</option></term>
<term><option>--clean</option></term>
<listitem>
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 4da297f..95c6ec7 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -291,6 +291,7 @@ main(int argc, char **argv)
static struct option long_options[] = {
{"data-only", no_argument, NULL, 'a'},
{"blobs", no_argument, NULL, 'b'},
+ {"no-blobs", no_argument, NULL, 'B'},
{"clean", no_argument, NULL, 'c'},
{"create", no_argument, NULL, 'C'},
{"dbname", required_argument, NULL, 'd'},
@@ -379,7 +380,7 @@ main(int argc, char **argv)
InitDumpOptions(&dopt);
- while ((c = getopt_long(argc, argv, "abcCd:E:f:F:h:j:n:N:oOp:RsS:t:T:U:vwWxZ:",
+ while ((c = getopt_long(argc, argv, "abBcCd:E:f:F:h:j:n:N:oOp:RsS:t:T:U:vwWxZ:",
long_options, &optindex)) != -1)
{
switch (c)
@@ -392,6 +393,10 @@ main(int argc, char **argv)
dopt.outputBlobs = true;
break;
+ case 'B': /* Don't dump blobs */
+ dopt.include_everything = false;
+ break;
+
case 'c': /* clean (i.e., drop) schema prior to create */
dopt.outputClean = 1;
break;
@@ -864,6 +869,7 @@ help(const char *progname)
printf(_("\nOptions controlling the output content:\n"));
printf(_(" -a, --data-only dump only the data, not the schema\n"));
printf(_(" -b, --blobs include large objects in dump\n"));
+ printf(_(" -B, --no-blobs exclude large objects in dump\n"));
printf(_(" -c, --clean clean (drop) database objects before recreating\n"));
printf(_(" -C, --create include commands to create database in dump\n"));
printf(_(" -E, --encoding=ENCODING dump the data in encoding ENCODING\n"));
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general