On Sat, Sep 26, 2009 at 6:48 PM, David Fetter <da...@fetter.org> wrote:
> On Sat, Sep 26, 2009 at 11:02:55PM +0300, Peter Eisentraut wrote:
>> On Fri, 2009-09-25 at 16:59 -0400, Tom Lane wrote:
>> > "shakahsha...@gmail.com" <shakahsha...@gmail.com> writes:
>> > > From pg_dump/pg_restore section (9.2 of the Todo page on the
>> > > PostgreSQL Wiki), is the following item "Add comments to output
>> > > indicating version of pg_dump and of the database server" simply
>> > > asking for a change to the pg_dump header from:
>> >
>> > I think so, but what's not clear is whether this is a good idea to
>> > do in the default output.  It might only be appropriate in
>> > "verbose" mode, so as not to introduce unnecessary diffs between
>> > logically identical dumps.
>>
>> Well, a diff of the same database made by different (major) versions
>> of pg_dump will already be different in most situations, so adding
>> the pg_dump version number in it is essentially free from this
>> perspective.
>>
>> What is the use case for adding the server version?
>
> There have been cases where pg_restore doesn't fix infelicities.  For
> example, there was a time when it was a good idea to run adddepend
> after the reload.  Knowing what server version the dump came from
> could be handy for this kind of case.
>
>> I can imagine something like wanting to know exactly where the dump
>> came from, but then host name and such would be better.  (And then
>> you can infer the server version from that.)
>
> You can infer the server version until the next upgrade, at which
> point the information is lost.
>
> Cheers,
> David.

Attached s/b a patch for the 8.5 TODO "Add comments to output indicating version
of pg_dump and of the database server" (pg_dump/pg_restore section, 9.2).

In verbose mode, pg_dump version and remote database version now appear
in the "plain" output format.

For example, original verbose output:
--
-- PostgreSQL database dump
--

-- Started on 2009-09-27 11:05:52 UTC

SET statement_timeout = 0;
[...etc...]


New verbose output:
--
-- PostgreSQL database dump
--

--
-- pg_dump version: 8.5devel
--
-- remote database version: 8.1.3 (80103)
--

-- Started on 2009-09-27 11:05:52 UTC

SET statement_timeout = 0;
[...etc...]
Index: src/bin/pg_dump/pg_backup_archiver.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v
retrieving revision 1.175
diff -c -r1.175 pg_backup_archiver.c
*** src/bin/pg_dump/pg_backup_archiver.c	7 Aug 2009 22:48:34 -0000	1.175
--- src/bin/pg_dump/pg_backup_archiver.c	27 Sep 2009 11:26:37 -0000
***************
*** 301,306 ****
--- 301,315 ----
  	ahprintf(AH, "--\n-- PostgreSQL database dump\n--\n\n");
  
  	if (AH->public.verbose)
+ 	{
+ 		ahprintf(AH, "--\n-- pg_dump version: %s\n", PG_VERSION);
+ 		ahprintf(AH, "--\n-- remote database version: %s (%d)\n"
+ 			,AHX->remoteVersionStr
+ 			,AHX->remoteVersion) ;
+ 		ahprintf(AH, "--\n\n");
+ 	}
+ 
+ 	if (AH->public.verbose)
  		dumpTimestamp(AH, "Started on", AH->createDate);
  
  	if (ropt->single_txn)

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to