template1=> SELECT oid from pg_database where datname = 'template1'; oid ------- 17216 (1 row)
However, that is incorrect:
template1=> select oid,relname from pg_class where oid > 17216; oid | relname -------+------------ 17408 | pg_indexes 17280 | pg_user 17312 | pg_rules 17344 | pg_views 17376 | pg_tables (5 rows)
Which results in all the system views being dumped. Attached is a patch. Please tell me if it's OK.
Chris
Index: pg_dump.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/bin/pg_dump/pg_dump.c,v retrieving revision 1.353 diff -c -r1.353 pg_dump.c *** pg_dump.c 8 Oct 2003 03:52:32 -0000 1.353 --- pg_dump.c 20 Oct 2003 08:25:24 -0000 *************** *** 5876,5882 **** int last_oid; res = PQexec(g_conn, ! "SELECT oid from pg_database where datname = 'template1'"); if (res == NULL || PQresultStatus(res) != PGRES_TUPLES_OK) { --- 5876,5882 ---- int last_oid; res = PQexec(g_conn, ! "SELECT oid FROM pg_class ORDER BY oid DESC LIMIT 1"); if (res == NULL || PQresultStatus(res) != PGRES_TUPLES_OK) {
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings