Christoph Berg 3829a9b66c The control file does not contain enableIntTimes anymore
PG10 gets rid of controlData->enableIntTimes, remove it in pg_filedump
as well. We could add try adding #ifs to still show it for older major
versions, but given that pg_filedump is cross-version compatible for
dumping the recent major's control files except for this change, it
seems more prudent to simply remove it. We don't show other fields like
float4ByVal either, and pg_controldata is a better tool for control file
inspection anyway, so keep the logic in pg_filedump simple.
2017-10-22 19:16:24 +02:00
2017-01-17 16:01:12 +03:00
2017-03-01 15:08:09 +03:00
2017-01-17 16:01:12 +03:00
2017-01-17 16:01:12 +03:00
2017-01-17 16:01:12 +03:00
2017-01-17 16:01:12 +03:00

pg_filedump - Display formatted contents of a PostgreSQL heap, index,
              or control file.

Copyright (c) 2002-2010 Red Hat, Inc.
Copyright (c) 2011-2016, 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 or complete install tree (with include files)
of the appropriate PostgreSQL major version.

There are two makefiles included in this package.  Makefile is a standalone
makefile for pg_filedump.  Alter its PGSQL_INCLUDE_DIR variable to point to
the PostgreSQL include files.  Makefile.contrib can be used if this package
was untarred in the contrib directory of a PostgreSQL build tree.

  make
  make install (if using Makefile.contrib)

It is also possible to use Makefile.contrib without being in the contrib
directory:

  make -f Makefile.contrib USE_PGXS=1

This method requires that the pg_config program be in your PATH, but should
not require any manual adjustments of the Makefile.


------------------------------------------------------------------------
Invocation:

pg_filedump [-abcdfhikxy] [-R startblock [endblock]] [-D attrlist] [-S blocksize] [-s segsize] [-n segnumber] 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)
  -D  Try to decode tuples using given comma separated list of types.
      List of supported types:
        * bigint
        * bigserial
        * bool
        * char
        * charN     -- char(n)
        * date
        * float
        * float4
        * float8
        * int
        * json
        * macaddr
        * name
        * oid
        * real
        * serial
        * smallint
        * smallserial
        * text
        * time
        * timestamp
        * timetz
        * uuid
		* varchar
        * varcharN -- varchar(n)
        * xid
        * xml
        * ~        -- ignores are attributes left in a tuple
  -f  Display formatted block content dump along with interpretation
  -h  Display this information
  -i  Display interpreted item details
  -k  Verify block checksums
  -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 segment size to [segsize]
  -n  Force segment number to [segnumber]
  -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]

In most cases it's recommended to use the -i and -f options to get
the most useful dump output.
Description
No description provided
Readme 93 KiB
Languages
C 98.4%
Makefile 1.6%