| From: | Daniel Browning <db(at)kavod(dot)com> |
|---|---|
| To: | pgsql-admin(at)postgresql(dot)org |
| Cc: | Daniel Browning <db(at)kavod(dot)com> |
| Subject: | Backup when the database is missing all of the pg_* tables |
| Date: | 2005-05-05 18:17:54 |
| Message-ID: | 20050505181754.GA9167@kavod.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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(at)postgresql(dot)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(at)kavod(dot)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"
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-05-05 18:19:15 | Re: A real puzzler: ANY way to recover? |
| Previous Message | Samngan | 2005-05-05 18:16:46 | Re: REMOVE |