Search Postgresql Archives

Re: Exclude pg_largeobject form pg_dump

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

2016-11-03 8:22 GMT+01:00 amul sul <sulamul@xxxxxxxxx>:
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
<guillaume@xxxxxxxxxxxx> wrote:
> 2016-10-23 20:44 GMT+02:00 Guillaume Lelarge <guillaume@xxxxxxxxxxxx>:
>>
>> 2016-10-23 20:37 GMT+02:00 Andreas Joseph Krogh <andreas@xxxxxxxxxx>:
>>>
>>> På søndag 23. oktober 2016 kl. 19:15:17, skrev Andreas Joseph Krogh
>>> <andreas@xxxxxxxxxx>:
>>>
>>> På søndag 23. oktober 2016 kl. 17:06:57, skrev Guillaume Lelarge
>>> <guillaume@xxxxxxxxxxxx>:
>>>
>>> 2016-03-08 21:06 GMT+01:00 Andreas Joseph Krogh <andreas@xxxxxxxxxx>:
>>>>
>>>> På tirsdag 08. mars 2016 kl. 21:03:01, skrev David G. Johnston
>>>> <david.g.johnston@xxxxxxxxx>:
>>>>
>>>> On Tue, Mar 8, 2016 at 9:45 AM, Andreas Joseph Krogh
>>>> <andreas@xxxxxxxxxx> wrote:
>>>>>
>>>>> På tirsdag 08. mars 2016 kl. 17:38:04, skrev Joshua D. Drake
>>>>> <jd@xxxxxxxxxxxxxxxxx>:
>>>>>
>>>>> On 03/08/2016 08:02 AM, Andreas Joseph Krogh wrote:
>>>>> > På tirsdag 08. mars 2016 kl. 16:57:01, skrev Tom Lane
>>>>> > <tgl@xxxxxxxxxxxxx
>>>>> > <mailto:tgl@xxxxxxxxxxxxx>>:
>>>>> >
>>>>> >     Andreas Joseph Krogh <andreas@xxxxxxxxxx> 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.
>
>



--
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 (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux