From d877de9e6bd1fb6f9b1590ca0e6ce35b61077d6e Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 4 Jan 2005 22:27:46 +0000 Subject: [PATCH] Make pg_dump --oids work when default_with_oids = off. Per report from Michael Fuhr. --- src/bin/pg_dump/pg_dump.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 788aa129b3..73bc213457 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.397 2004/12/31 22:03:08 pgsql Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.398 2005/01/04 22:27:46 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -7157,8 +7157,12 @@ setMaxOid(Archive *fout) Oid max_oid; char sql[1024]; - do_sql_command(g_conn, - "CREATE TEMPORARY TABLE pgdump_oid (dummy integer)"); + if (fout->remoteVersion >= 70200) + do_sql_command(g_conn, + "CREATE TEMPORARY TABLE pgdump_oid (dummy integer) WITH OIDS"); + else + do_sql_command(g_conn, + "CREATE TEMPORARY TABLE pgdump_oid (dummy integer)"); res = PQexec(g_conn, "INSERT INTO pgdump_oid VALUES (0)"); check_sql_result(res, g_conn, "INSERT INTO pgdump_oid VALUES (0)", PGRES_COMMAND_OK); @@ -7173,7 +7177,7 @@ setMaxOid(Archive *fout) if (g_verbose) write_msg(NULL, "maximum system OID is %u\n", max_oid); snprintf(sql, sizeof(sql), - "CREATE TEMPORARY TABLE pgdump_oid (dummy integer);\n" + "CREATE TEMPORARY TABLE pgdump_oid (dummy integer) WITH OIDS;\n" "COPY pgdump_oid WITH OIDS FROM stdin;\n" "%u\t0\n" "\\.\n"