For whatever reason, I'm back dealing with corrupted tables but
curiously while this fails:
pg_dump -U postgres -a -t table -f /data/table.dump
this works:
psql -U postgres -A -o /data/table.dump -c "SELECT * FROM table;"
Graned the format of the data is different, but regardless, the data is
still there.
The message from pg_dump when it fails is:
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR: out of memory
DETAIL: Failed on request of size 20.
pg_dump: The command was: SELECT t.tableoid, t.oid, t.relname as
indexname, pg_catalog.pg_get_indexdef(i.indexrelid) as indexdef,
t.relnatts as indnkeys, i.indkey, i.indisclustered, c.contype,
c.conname, c.tableoid as contableoid, c.oid as conoid, (SELECT spcname
FROM pg_catalog.pg_tablespace s WHERE s.oid = t.reltablespace) as
tablespace FROM pg_catalog.pg_index i JOIN pg_catalog.pg_class t ON
(t.oid = i.indexrelid) LEFT JOIN pg_catalog.pg_depend d ON (d.classid =
t.tableoid AND d.objid = t.oid AND d.deptype = 'i') LEFT JOIN
pg_catalog.pg_constraint c ON (d.refclassid = c.tableoid AND d.refobjid
= c.oid) WHERE i.indrelid = '16456'::pg_catalog.oid ORDER BY indexname
Darren