Backup when the database is missing all of the pg_* tables - Mailing list pgsql-admin

From Daniel Browning
Subject Backup when the database is missing all of the pg_* tables
Date
Msg-id 20050505181754.GA9167@kavod.com
Whole thread Raw
Responses Re: Backup when the database is missing all of the pg_* tables  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-admin
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"

pgsql-admin by date:

Previous
From: "Peter Schonefeld"
Date:
Subject: ERROR: relation "mytable" does not exist
Next
From: "sv"
Date:
Subject: Getting Started Basic Admin