Support decoding of 'name' and 'char' types. Also introduce '~'
pseudo-type which just ignores all data left in current tuple during
decoding. These two types allow easily to decode catalog tables and
restore schema of a database even if it's corrupted and PostgreSQL
instance is not starting.
For instance, pg_attribute can be decoded like this:
pg_filedump -D oid,name,oid,int,smallint,~ path/to/segment/1249
Aleksander Alekseev
This feature allows to partially recover data from a given segment file
in format suitable for using in COPY FROM statement. List of supported
data types is currently not full and TOAST is not yet supported, but
it's better than nothing. Hopefully data recovery will be improved in
the future.
Implemented by Aleksander Alekseev, reviewed by Dmitry Ivanov, tested
by Dmitry Ivanov and Grigoriy Smolkin.
A blkno argument passed to pg_checksum_page procedure should be not a
relative block number in a given segment but an absolute block number
in the entire relation. It's the same for the segment number 0, but for
segment number N the difference is RELSEG_SIZE * N.
Aleksander Alekseev
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.