On 3/12/2016 12:33 PM, Karsten Hilbert wrote:
How can I (programmatically) find out which database a dump
was taken from given the dump file ?
Constraints of the question:
- existing dump in directory format
- dump was taken of only one particular database
I know of no documentation on the format of the toc.dat file contained
in that directory format pg_dump output (short of reading the source to
pg_dump/restore?) but I tried a hexdump...
$ hexdump -C junky/toc.dat
00000000 50 47 44 4d 50 01 0c 00 04 08 03 01 01 00 00 00
|PGDMP...........|
00000010 00 24 00 00 00 00 2d 00 00 00 00 0c 00 00 00 00
|.$....-.........|
00000020 0c 00 00 00 00 02 00 00 00 00 74 00 00 00 00 00
|..........t.....|
00000030 00 00 00 00 04 00 00 00 6a 75 6e 6b 00 06 00 00
|........junk....|
00000040 00 39 2e 33 2e 31 31 00 06 00 00 00 39 2e 33 2e
|.9.3.11.....9.3.|
(tons more deleted)
and note that 'junk' is in fact the name of the database. But I doubt
the format of this toc.dat file is guaranteed to be immutable
--
john r pierce, recycling bits in santa cruz
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general