How can I backup a database (for restoration) when it is missing all of the
pg_* tables?
I've been bitten by the "SELinux silently ruins initdb" bug as reported by Tom
Lane: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=149237 and another
user: http://www.mail-archive.com/pgsql-bugs@postgresql.org/msg11191.html
Unfortunately, I didn't notice the problem until after the database had new
data added to it. I need to backup the database and recreate it with initdb,
but pg_dump doesn't work:
relation "pg_user" does not exist
I tried "--data-only --no-owner --no-privileges" to no avail. I can still do
'\d <table>' and 'COPY <table> to ...', which is enough to get the information
needed for a minimal dump, so it's theoretically possible.
If there isn't a way to do this already, I'm going to build the schema from a
backup, and then write a script that will COPY each table, then COPY them back
after the initdb.
Thanks,
--
Daniel Browning <db@kavod.com> - Kavod Technologies. Random Fortune:
Consider well the proportions of things. It is better to be a young June-bug
than an old bird of paradise.
-- Mark Twain, "Pudd'nhead Wilson's Calendar"