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