I did a bit of hacking on pg_filedump to make it slightly more
useful...but it wasn't clear where or to whom the patches should
be sent, so I'm sending an email to pgsql-admins 'cause they're
the kind of folks that probably care about them...
The changes I added are two command line options:
-F <filter> to filter out which items get dumped.
presently only works on the infomask field.
-T <types> to dump out each item according to either
int,char,varchar,bool types (yes, I know, that's
not all of the postgres types.)
-q to supress lots of additional output (quiet)
Now, combined they allow data to be recovered from a situation
where the index is fubar'd but you've still got good data and
you don't want to recover from backup...that said, there is
great danger because pg_filedump doesn't know which item from
the dataset is the most recent/alive one.
If there's further interest, I can add more types but the
warning above holds. pg_filedump shouldn't be used for what
the above makes easy but I can't see why that shouldn't be
a decision we (and not the db) gets to make...
Cheers,
Darren
http://coombs.anu.edu.au/~avalon/pg_fd_FT.patch.gz