| $PostgreSQL: pgsql/src/bin/pg_dump/README,v 1.7 2008/03/21 13:23:28 momjian Exp $ |
| |
| Notes on pg_dump |
| ================ |
| |
| 1. pg_dump, by default, still outputs text files. |
| |
| 2. pg_dumpall forces all pg_dump output to be text, since it also outputs text into the same output stream. |
| |
| 3. The plain text output format cannot be used as input into pg_restore. |
| |
| |
| To dump a database into the new custom format, type: |
| |
| pg_dump <db-name> -Fc > <backup-file> |
| |
| or, to dump in TAR format |
| |
| pg_dump <db-name> -Ft > <backup-file> |
| |
| To restore, try |
| |
| To list contents: |
| |
| pg_restore -l <backup-file> | less |
| |
| or to list tables: |
| |
| pg_restore <backup-file> --table | less |
| |
| or to list in a different order |
| |
| pg_restore <backup-file> -l --oid --rearrange | less |
| |
| Once you are happy with the list, just remove the '-l', and an SQL script will be output. |
| |
| |
| You can also dump a listing: |
| |
| pg_restore -l <backup-file> > toc.lis |
| or |
| pg_restore -l <backup-file> -f toc.lis |
| |
| edit it, and rearrange the lines (or delete some): |
| |
| vi toc.lis |
| |
| then use it to restore selected items: |
| |
| pg_restore <backup-file> --use=toc.lis -l | less |
| |
| When you like the list, type |
| |
| pg_restore backup.bck --use=toc.lis > script.sql |
| |
| or, simply: |
| |
| createdb newdbname |
| pg_restore backup.bck --use=toc.lis | psql newdbname |
| |
| |
| TAR |
| === |
| |
| The TAR archive that pg_dump creates currently has a blank username & group for the files, |
| but should be otherwise valid. It also includes a 'restore.sql' script which is there for |
| the benefit of humans. The script is never used by pg_restore. |
| |
| Note: the TAR format archive can only be used as input into pg_restore if it is in TAR form. |
| (ie. you should not extract the files then expect pg_restore to work). |
| |
| You can extract, edit, and tar the files again, and it should work, but the 'toc' |
| file should go at the start, the data files be in the order they are used, and |
| the BLOB files at the end. |
| |
| |
| Philip Warner, 16-Jul-2000 |
| pjw@rhyme.com.au |