pg_filedump/README.pg_filedump
Tom Lane ac96dfbaca Assorted adjustments to prepare pg_filedump for its new life.
Add PostgreSQL Global Development Group to the copyright notices, and
remove a couple of no-longer-appropriate references to Red Hat.
Unfortunately I can't undo Red Hat's choice of GPL licensing, but it is
what it is.

Also reduce the pain of version-stamping by coalescing references to the
version into one pair of macros, and removing not-especially-useful
change logs.  IMO the commit logs serve that purpose just as well.
2011-01-18 02:28:26 +00:00

88 lines
3.4 KiB
Plaintext

pg_filedump - Display formatted contents of a PostgreSQL heap, index,
or control file.
Copyright (c) 2002-2010 Red Hat, Inc.
Copyright (c) 2011, PostgreSQL Global Development Group
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
Original Author: Patrick Macdonald <patrickm@redhat.com>
------------------------------------------------------------------------
Overview:
pg_filedump is a utility to format PostgreSQL heap/index/control files
into a human-readable form. You can format/dump the files several ways,
as listed in the Invocation section, as well as dumping straight binary.
The type of file (heap/index) can usually be determined automatically
by the content of the blocks within the file. However, to format a
pg_control file you must use the -c option.
The default is to format the entire file using the block size listed in
block 0 and display block relative addresses. These defaults can be
modified using run-time options.
Some options may seem strange but they're there for a reason. For
example, block size. It's there because if the header of block 0 is
corrupt, you need a method of forcing a block size.
------------------------------------------------------------------------
Compile/Installation:
To compile pg_filedump, you will need to have a properly configured
PostgreSQL source tree for the appropriate PostgreSQL major version.
There are two makefiles included in this package. Makefile is a
standalone makefile for pg_filedump. Alter the PGSQL variable to point
to the PostgreSQL source tree. Makefile.contrib can be used if this
package was untarred in the contrib directory of a PostgreSQL build tree.
make
make install (if in the contrib directory)
It is also possible to use Makefile.contrib without being in the contrib
directory:
make -f Makefile.contrib USE_PGXS=1
This will not eliminate the need to have a complete source tree, though.
------------------------------------------------------------------------
Invocation:
pg_filedump [-abcdfhixy] [-R startblock [endblock]] [-S blocksize] file
Defaults are: relative addressing, range of the entire file, block size
as listed on block 0 in the file
The following options are valid for heap and index files:
-a Display absolute addresses when formatting (Block header
information is always block relative)
-b Display binary block images within a range (Option will turn
off all formatting options)
-d Display formatted block content dump (Option will turn off
all other formatting options)
-f Display formatted block content dump along with interpretation
-h Display this information
-i Display interpreted item details
-R Display specific block ranges within the file (Blocks are
indexed from 0)
[startblock]: block to start at
[endblock]: block to end at
A startblock without an endblock will format the single block
-S Force block size to [blocksize]
-x Force interpreted formatting of block items as index items
-y Force interpreted formatting of block items as heap items
The following options are valid for control files:
-c Interpret the file listed as a control file
-f Display formatted content dump along with interpretation
-S Force block size to [blocksize]