mirror of
https://github.com/postgres/postgres.git
synced 2026-04-21 06:08:26 -04:00
|
|
||
|---|---|---|
| .. | ||
| common.c | ||
| Makefile | ||
| pg4_dump.c | ||
| pg_dump.h | ||
| README | ||
pg4_dump is a utility for dumping out a postgres (version 4, release 2) database into a script file containing query commands. The script files are in a ASCII format and can be used to reconstruct the database, even on other machines and other architectures. pg_dump will produce the queries necessary to re-generate all user-defined types, functions, tables, indices, aggregates, and operators. In addition, all the data is copied out in ASCII format so that it can be readily copied in again. The sources in this directory can be used to build two different versions of the program. The two versions require different versions of libpq, and the same binary cannot serve both purposes. To build: % bmake clean install This version of the program will read in your postgres v4r2 database and output the schema and the data tuples in one of two formats: POSTQUEL or SQL. The POSTQUEL->POSTQUEL dumps are useful for moving from one v4r2 installation to another. The POSTQUEL->SQL dumps are useful for migrating from v4r2 to postgres95. Use the -o [SQL|POSTQUEL] option to specify output query language. How to use pg4_dump: ------------------- The command line options are fairly self explanatory. Use -help to see the command line options. I recommend using -v to get more verbose descriptions of what pg_dump is doing. After running pg4_dump, one should examine the output script file for any warnings, especially in light of the limitations listed below. A typical use of pg4_dump: % pg4_dump -v -f oldDB.dump oldDB % createdb newDB % monitor newDB < oldDB.dump Caveats and limitations: ------------------------ pg4_dump has a few limitations. The limitations mostly stem from difficulty in extracting certain meta-information from the system catalogs. rules and views: pg4_dump does not understand user-defined rules and views and will fail to dump them properly. (This is due to the fact that rules are stored as plans in the catalogs and not textually) partial indices: pg4_dump does not understand partial indices. (The reason is the same as above. Partial index predicates are stored as plans) source text of POSTQUEL functions: pg4_dump does not convert the source text of a user-defined POSTQUEL function into SQL. Manual intervention is required. large objects: pg4_dump does not handle large objects. Inversion large objects are ignored and must be dealt with manually. oid preservation: pg4_dump does not preserve oid's while dumping. If you have stored oid's explicitly in tables in user-defined attributes, and are using them as keys, then the output scripts will not regenerate your database correctly. pg4_dump has not been tested and will probably not work properly for versions of postgres prior to 4.2. Bug-reporting -------------- If you should find a problem with pg4_dump, it is very important that you provide a (small) sample database which illustrates the problem. Please send bugs, questions, and feedback to the postgres95@postgres.berkeley.edu