diff --git a/contrib/Makefile b/contrib/Makefile index d63e441cb59db34ca4a10a7b524dac06f9003ba4..074e39477b1e3fddb428a8b916760dcc14d06afa 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -37,7 +37,6 @@ SUBDIRS = \ pg_test_timing \ pg_trgm \ pg_upgrade \ - pg_upgrade_support \ pgcrypto \ pgrowlocks \ pgstattuple \ diff --git a/contrib/pg_upgrade/dump.c b/contrib/pg_upgrade/dump.c index 941c4bbdd75a965ae9c8d48890866ebedac0dbbb..906e85f2b53e68203e1b9f5654b81fd44c4f8d84 100644 --- a/contrib/pg_upgrade/dump.c +++ b/contrib/pg_upgrade/dump.c @@ -121,7 +121,7 @@ optionally_create_toast_tables(void) for (rowno = 0; rowno < ntups; rowno++) { /* enable auto-oid-numbered TOAST creation if needed */ - PQclear(executeQueryOrDie(conn, "SELECT binary_upgrade.set_next_toast_pg_class_oid('%d'::pg_catalog.oid);", + PQclear(executeQueryOrDie(conn, "SELECT pg_catalog.binary_upgrade_set_next_toast_pg_class_oid('%d'::pg_catalog.oid);", OPTIONALLY_CREATE_TOAST_OID)); /* dummy command that also triggers check for required TOAST table */ diff --git a/contrib/pg_upgrade/function.c b/contrib/pg_upgrade/function.c index deffe046474d6cf9fe7c8fdfc3b2a6bb4adb95be..d8009d195d85800ee9d1602c0b112b4bdee548a0 100644 --- a/contrib/pg_upgrade/function.c +++ b/contrib/pg_upgrade/function.c @@ -13,112 +13,6 @@ #include "access/transam.h" -#define PG_UPGRADE_SUPPORT "$libdir/pg_upgrade_support" - -/* - * install_support_functions_in_new_db() - * - * pg_upgrade requires some support functions that enable it to modify - * backend behavior. - */ -void -install_support_functions_in_new_db(const char *db_name) -{ - PGconn *conn = connectToServer(&new_cluster, db_name); - - /* suppress NOTICE of dropped objects */ - PQclear(executeQueryOrDie(conn, - "SET client_min_messages = warning;")); - PQclear(executeQueryOrDie(conn, - "DROP SCHEMA IF EXISTS binary_upgrade CASCADE;")); - PQclear(executeQueryOrDie(conn, - "RESET client_min_messages;")); - - PQclear(executeQueryOrDie(conn, - "CREATE SCHEMA binary_upgrade;")); - - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_pg_type_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_array_pg_type_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_toast_pg_type_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_heap_pg_class_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_index_pg_class_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_toast_pg_class_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_pg_enum_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.set_next_pg_authid_oid(OID) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C STRICT;")); - PQclear(executeQueryOrDie(conn, - "CREATE OR REPLACE FUNCTION " - "binary_upgrade.create_empty_extension(text, text, bool, text, oid[], text[], text[]) " - "RETURNS VOID " - "AS '$libdir/pg_upgrade_support' " - "LANGUAGE C;")); - PQfinish(conn); -} - - -void -uninstall_support_functions_from_new_cluster(void) -{ - int dbnum; - - prep_status("Removing support functions from new cluster"); - - for (dbnum = 0; dbnum < new_cluster.dbarr.ndbs; dbnum++) - { - DbInfo *new_db = &new_cluster.dbarr.dbs[dbnum]; - PGconn *conn = connectToServer(&new_cluster, new_db->db_name); - - /* suppress NOTICE of dropped objects */ - PQclear(executeQueryOrDie(conn, - "SET client_min_messages = warning;")); - PQclear(executeQueryOrDie(conn, - "DROP SCHEMA binary_upgrade CASCADE;")); - PQclear(executeQueryOrDie(conn, - "RESET client_min_messages;")); - PQfinish(conn); - } - check_ok(); -} - /* * get_loadable_libraries() @@ -218,8 +112,6 @@ get_loadable_libraries(void) if (found_public_plpython_handler) pg_fatal("Remove the problem functions from the old cluster to continue.\n"); - totaltups++; /* reserve for pg_upgrade_support */ - /* Allocate what's certainly enough space */ os_info.libraries = (char **) pg_malloc(totaltups * sizeof(char *)); @@ -228,7 +120,6 @@ get_loadable_libraries(void) * there probably aren't enough entries to matter. */ totaltups = 0; - os_info.libraries[totaltups++] = pg_strdup(PG_UPGRADE_SUPPORT); for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++) { @@ -321,10 +212,6 @@ check_loadable_libraries(void) { found = true; - /* exit and report missing support library with special message */ - if (strcmp(lib, PG_UPGRADE_SUPPORT) == 0) - pg_fatal("The pg_upgrade_support module must be created and installed in the new cluster.\n"); - if (script == NULL && (script = fopen_priv(output_path, "w")) == NULL) pg_fatal("Could not open file \"%s\": %s\n", output_path, getErrorText(errno)); diff --git a/contrib/pg_upgrade/pg_upgrade.c b/contrib/pg_upgrade/pg_upgrade.c index eb48da779f9ed244267a74130ad3b166304883d3..78bd29fb957faabd2ee8d727f123f5e359bba557 100644 --- a/contrib/pg_upgrade/pg_upgrade.c +++ b/contrib/pg_upgrade/pg_upgrade.c @@ -278,14 +278,6 @@ prepare_new_databases(void) prep_status("Restoring global objects in the new cluster"); - /* - * Install support functions in the global-object restore database to - * preserve pg_authid.oid. pg_dumpall uses 'template0' as its template - * database so objects we add into 'template1' are not propogated. They - * are removed on pg_upgrade exit. - */ - install_support_functions_in_new_db("template1"); - /* * We have to create the databases first so we can install support * functions in all the other databases. Ideally we could create the @@ -308,23 +300,6 @@ create_new_objects(void) { int dbnum; - prep_status("Adding support functions to new cluster"); - - /* - * Technically, we only need to install these support functions in new - * databases that also exist in the old cluster, but for completeness we - * process all new databases. - */ - for (dbnum = 0; dbnum < new_cluster.dbarr.ndbs; dbnum++) - { - DbInfo *new_db = &new_cluster.dbarr.dbs[dbnum]; - - /* skip db we already installed */ - if (strcmp(new_db->db_name, "template1") != 0) - install_support_functions_in_new_db(new_db->db_name); - } - check_ok(); - prep_status("Restoring database schemas in the new cluster\n"); for (dbnum = 0; dbnum < old_cluster.dbarr.ndbs; dbnum++) @@ -368,8 +343,6 @@ create_new_objects(void) /* regenerate now that we have objects in the databases */ get_db_and_rel_infos(&new_cluster); - - uninstall_support_functions_from_new_cluster(); } /* diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h index f6b13c0878601a38d634d76fe0c30ff408b6da45..ace3465f989ca68400b4e8091ffff588112a1bd0 100644 --- a/contrib/pg_upgrade/pg_upgrade.h +++ b/contrib/pg_upgrade/pg_upgrade.h @@ -405,8 +405,6 @@ FILE *fopen_priv(const char *path, const char *mode); /* function.c */ -void install_support_functions_in_new_db(const char *db_name); -void uninstall_support_functions_from_new_cluster(void); void get_loadable_libraries(void); void check_loadable_libraries(void); diff --git a/contrib/pg_upgrade/test.sh b/contrib/pg_upgrade/test.sh index 75b635799de7f96e9ffcb2682ee2fb3aa9fefc57..2e9f97688c64588d50c19e388d543d051098d5b1 100644 --- a/contrib/pg_upgrade/test.sh +++ b/contrib/pg_upgrade/test.sh @@ -70,7 +70,6 @@ if [ "$1" = '--install' ]; then libdir=$temp_install/$libdir "$MAKE" -s -C ../.. install DESTDIR="$temp_install" - "$MAKE" -s -C ../pg_upgrade_support install DESTDIR="$temp_install" "$MAKE" -s -C . install DESTDIR="$temp_install" # platform-specific magic to find the shared libraries; see pg_regress.c diff --git a/contrib/pg_upgrade_support/Makefile b/contrib/pg_upgrade_support/Makefile deleted file mode 100644 index f7def160c3992c2cabafb501165cf17078a5df57..0000000000000000000000000000000000000000 --- a/contrib/pg_upgrade_support/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# contrib/pg_upgrade_support/Makefile - -PGFILEDESC = "pg_upgrade_support - server-side functions for pg_upgrade" - -MODULES = pg_upgrade_support - -ifdef USE_PGXS -PG_CONFIG = pg_config -PGXS := $(shell $(PG_CONFIG) --pgxs) -include $(PGXS) -else -subdir = contrib/pg_upgrade_support -top_builddir = ../.. -include $(top_builddir)/src/Makefile.global -include $(top_srcdir)/contrib/contrib-global.mk -endif diff --git a/doc/src/sgml/pgupgrade.sgml b/doc/src/sgml/pgupgrade.sgml index 0d79fb5f52af20e47182420710246b9267778ddd..45bceff9bea5dbf497c1d895a8d40234295e493e 100644 --- a/doc/src/sgml/pgupgrade.sgml +++ b/doc/src/sgml/pgupgrade.sgml @@ -253,11 +253,10 @@ make prefix=/usr/local/pgsql.new install </step> <step> - <title>Install pg_upgrade and pg_upgrade_support</title> + <title>Install pg_upgrade</title> <para> - Install the <application>pg_upgrade</> binary and - <application>pg_upgrade_support</> library in the new PostgreSQL + Install the <application>pg_upgrade</> binary in the new PostgreSQL installation. </para> </step> diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index c518c50b21bfc7ae9e4109726ed9e345e16711d5..d04e94d74f3c1266c7f644dfc1ef390ce14323ce 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -76,7 +76,7 @@ #include "utils/tqual.h" -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_heap_pg_class_oid = InvalidOid; Oid binary_upgrade_next_toast_pg_class_oid = InvalidOid; diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index d8ff554387fde942244c75f5a72ed22cf65bc484..ac3b785b5a7230fdfba83a0c5fb7620123ca4c0a 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -69,7 +69,7 @@ #include "utils/tqual.h" -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_index_pg_class_oid = InvalidOid; /* state info for validate_index bulkdelete callback */ diff --git a/src/backend/catalog/pg_enum.c b/src/backend/catalog/pg_enum.c index d87090a31b963a36a5c28a83310aaa3306fba48f..c880486c4bc685b8a29503893eb6a5a03d8e9647 100644 --- a/src/backend/catalog/pg_enum.c +++ b/src/backend/catalog/pg_enum.c @@ -31,7 +31,7 @@ #include "utils/tqual.h" -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_pg_enum_oid = InvalidOid; static void RenumberEnumType(Relation pg_enum, HeapTuple *existing, int nelems); diff --git a/src/backend/catalog/pg_type.c b/src/backend/catalog/pg_type.c index d1ed53f5b4d1899019afe332af04ddb4977d97bb..32453c3bb89b91710c06e7d2b887f4bb52b33840 100644 --- a/src/backend/catalog/pg_type.c +++ b/src/backend/catalog/pg_type.c @@ -36,7 +36,7 @@ #include "utils/rel.h" #include "utils/syscache.h" -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_pg_type_oid = InvalidOid; /* ---------------------------------------------------------------- diff --git a/src/backend/catalog/toasting.c b/src/backend/catalog/toasting.c index d14c33ce0218fbc572915cf606ab31c14e2512c4..c99d3534ced8799da9a1ca1613bc74a695fac8b9 100644 --- a/src/backend/catalog/toasting.c +++ b/src/backend/catalog/toasting.c @@ -32,7 +32,7 @@ #include "utils/rel.h" #include "utils/syscache.h" -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_toast_pg_type_oid = InvalidOid; static void CheckAndCreateToastTable(Oid relOid, Datum reloptions, diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c index 67e2ae22c680e3ac85c305a6524dd94e1aa64396..907ba1100ace7316f5fb7930be754736ba6b8b5c 100644 --- a/src/backend/commands/typecmds.c +++ b/src/backend/commands/typecmds.c @@ -80,7 +80,7 @@ typedef struct /* atts[] is of allocated length RelationGetNumberOfAttributes(rel) */ } RelToCheck; -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_array_pg_type_oid = InvalidOid; static void makeRangeConstructors(const char *name, Oid namespace, diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c index 75f1b3cd4f264c712896151ee872e29c59f7c7ce..456c27ebe07ebbe4f30bbd3bf03340ea61e90075 100644 --- a/src/backend/commands/user.c +++ b/src/backend/commands/user.c @@ -38,7 +38,7 @@ #include "utils/timestamp.h" #include "utils/tqual.h" -/* Potentially set by contrib/pg_upgrade_support functions */ +/* Potentially set by pg_upgrade_support functions */ Oid binary_upgrade_next_pg_authid_oid = InvalidOid; diff --git a/src/backend/utils/adt/Makefile b/src/backend/utils/adt/Makefile index 20e5ff10c7f18c13ecf9fa9d68fa02f94d55cf53..1f1bee7fb5185950ecefa3dab9288ffcd3d4d46a 100644 --- a/src/backend/utils/adt/Makefile +++ b/src/backend/utils/adt/Makefile @@ -25,7 +25,8 @@ OBJS = acl.o arrayfuncs.o array_selfuncs.o array_typanalyze.o \ jsonfuncs.o like.o lockfuncs.o mac.o misc.o nabstime.o name.o \ network.o network_gist.o network_selfuncs.o \ numeric.o numutils.o oid.o oracle_compat.o \ - orderedsetaggs.o pg_locale.o pg_lsn.o pgstatfuncs.o \ + orderedsetaggs.o pg_locale.o pg_lsn.o pg_upgrade_support.o \ + pgstatfuncs.o \ pseudotypes.o quote.o rangetypes.o rangetypes_gist.o \ rangetypes_selfuncs.o rangetypes_spgist.o rangetypes_typanalyze.o \ regexp.o regproc.o ri_triggers.o rowtypes.o ruleutils.o \ diff --git a/contrib/pg_upgrade_support/pg_upgrade_support.c b/src/backend/utils/adt/pg_upgrade_support.c similarity index 73% rename from contrib/pg_upgrade_support/pg_upgrade_support.c rename to src/backend/utils/adt/pg_upgrade_support.c index f477973449bca1bcbd54315e8691cb79ea04045d..d69fa53567b3437696b7356a12adfbc9e8564181 100644 --- a/contrib/pg_upgrade_support/pg_upgrade_support.c +++ b/src/backend/utils/adt/pg_upgrade_support.c @@ -6,7 +6,7 @@ * hacks needed for pg_upgrade. * * Copyright (c) 2010-2015, PostgreSQL Global Development Group - * contrib/pg_upgrade_support/pg_upgrade_support.c + * src/backend/utils/adt/pg_upgrade_support.c */ #include "postgres.h" @@ -19,24 +19,17 @@ #include "utils/array.h" #include "utils/builtins.h" -/* THIS IS USED ONLY FOR PG >= 9.0 */ -#ifdef PG_MODULE_MAGIC -PG_MODULE_MAGIC; -#endif +Datum binary_upgrade_set_next_pg_type_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_array_pg_type_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_toast_pg_type_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_heap_pg_class_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_index_pg_class_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_toast_pg_class_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_pg_enum_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_set_next_pg_authid_oid(PG_FUNCTION_ARGS); +Datum binary_upgrade_create_empty_extension(PG_FUNCTION_ARGS); -PG_FUNCTION_INFO_V1(set_next_pg_type_oid); -PG_FUNCTION_INFO_V1(set_next_array_pg_type_oid); -PG_FUNCTION_INFO_V1(set_next_toast_pg_type_oid); - -PG_FUNCTION_INFO_V1(set_next_heap_pg_class_oid); -PG_FUNCTION_INFO_V1(set_next_index_pg_class_oid); -PG_FUNCTION_INFO_V1(set_next_toast_pg_class_oid); - -PG_FUNCTION_INFO_V1(set_next_pg_enum_oid); -PG_FUNCTION_INFO_V1(set_next_pg_authid_oid); - -PG_FUNCTION_INFO_V1(create_empty_extension); #define CHECK_IS_BINARY_UPGRADE \ do { \ @@ -47,7 +40,7 @@ do { \ } while (0) Datum -set_next_pg_type_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_pg_type_oid(PG_FUNCTION_ARGS) { Oid typoid = PG_GETARG_OID(0); @@ -58,7 +51,7 @@ set_next_pg_type_oid(PG_FUNCTION_ARGS) } Datum -set_next_array_pg_type_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_array_pg_type_oid(PG_FUNCTION_ARGS) { Oid typoid = PG_GETARG_OID(0); @@ -69,7 +62,7 @@ set_next_array_pg_type_oid(PG_FUNCTION_ARGS) } Datum -set_next_toast_pg_type_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_toast_pg_type_oid(PG_FUNCTION_ARGS) { Oid typoid = PG_GETARG_OID(0); @@ -80,7 +73,7 @@ set_next_toast_pg_type_oid(PG_FUNCTION_ARGS) } Datum -set_next_heap_pg_class_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_heap_pg_class_oid(PG_FUNCTION_ARGS) { Oid reloid = PG_GETARG_OID(0); @@ -91,7 +84,7 @@ set_next_heap_pg_class_oid(PG_FUNCTION_ARGS) } Datum -set_next_index_pg_class_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_index_pg_class_oid(PG_FUNCTION_ARGS) { Oid reloid = PG_GETARG_OID(0); @@ -102,7 +95,7 @@ set_next_index_pg_class_oid(PG_FUNCTION_ARGS) } Datum -set_next_toast_pg_class_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_toast_pg_class_oid(PG_FUNCTION_ARGS) { Oid reloid = PG_GETARG_OID(0); @@ -113,7 +106,7 @@ set_next_toast_pg_class_oid(PG_FUNCTION_ARGS) } Datum -set_next_pg_enum_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_pg_enum_oid(PG_FUNCTION_ARGS) { Oid enumoid = PG_GETARG_OID(0); @@ -124,7 +117,7 @@ set_next_pg_enum_oid(PG_FUNCTION_ARGS) } Datum -set_next_pg_authid_oid(PG_FUNCTION_ARGS) +binary_upgrade_set_next_pg_authid_oid(PG_FUNCTION_ARGS) { Oid authoid = PG_GETARG_OID(0); @@ -134,7 +127,7 @@ set_next_pg_authid_oid(PG_FUNCTION_ARGS) } Datum -create_empty_extension(PG_FUNCTION_ARGS) +binary_upgrade_create_empty_extension(PG_FUNCTION_ARGS) { text *extName = PG_GETARG_TEXT_PP(0); text *schemaName = PG_GETARG_TEXT_PP(1); diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 7da5c411949a4b665f63ba5d6c645b94e7aeac93..fe08c1b15d2e96ef26bf46d4b9a381317d650f66 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -3045,7 +3045,7 @@ binary_upgrade_set_type_oids_by_type_oid(Archive *fout, appendPQExpBufferStr(upgrade_buffer, "\n-- For binary upgrade, must preserve pg_type oid\n"); appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_pg_type_oid('%u'::pg_catalog.oid);\n\n", + "SELECT pg_catalog.binary_upgrade_set_next_pg_type_oid('%u'::pg_catalog.oid);\n\n", pg_type_oid); /* we only support old >= 8.3 for binary upgrades */ @@ -3064,7 +3064,7 @@ binary_upgrade_set_type_oids_by_type_oid(Archive *fout, appendPQExpBufferStr(upgrade_buffer, "\n-- For binary upgrade, must preserve pg_type array oid\n"); appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_array_pg_type_oid('%u'::pg_catalog.oid);\n\n", + "SELECT pg_catalog.binary_upgrade_set_next_array_pg_type_oid('%u'::pg_catalog.oid);\n\n", pg_type_array_oid); } @@ -3106,7 +3106,7 @@ binary_upgrade_set_type_oids_by_rel_oid(Archive *fout, appendPQExpBufferStr(upgrade_buffer, "\n-- For binary upgrade, must preserve pg_type toast oid\n"); appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_toast_pg_type_oid('%u'::pg_catalog.oid);\n\n", + "SELECT pg_catalog.binary_upgrade_set_next_toast_pg_type_oid('%u'::pg_catalog.oid);\n\n", pg_type_toast_oid); toast_set = true; @@ -3146,7 +3146,7 @@ binary_upgrade_set_pg_class_oids(Archive *fout, if (!is_index) { appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_heap_pg_class_oid('%u'::pg_catalog.oid);\n", + "SELECT pg_catalog.binary_upgrade_set_next_heap_pg_class_oid('%u'::pg_catalog.oid);\n", pg_class_oid); /* only tables have toast tables, not indexes */ if (OidIsValid(pg_class_reltoastrelid)) @@ -3161,18 +3161,18 @@ binary_upgrade_set_pg_class_oids(Archive *fout, */ appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_toast_pg_class_oid('%u'::pg_catalog.oid);\n", + "SELECT pg_catalog.binary_upgrade_set_next_toast_pg_class_oid('%u'::pg_catalog.oid);\n", pg_class_reltoastrelid); /* every toast table has an index */ appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_index_pg_class_oid('%u'::pg_catalog.oid);\n", + "SELECT pg_catalog.binary_upgrade_set_next_index_pg_class_oid('%u'::pg_catalog.oid);\n", pg_index_indexrelid); } } else appendPQExpBuffer(upgrade_buffer, - "SELECT binary_upgrade.set_next_index_pg_class_oid('%u'::pg_catalog.oid);\n", + "SELECT pg_catalog.binary_upgrade_set_next_index_pg_class_oid('%u'::pg_catalog.oid);\n", pg_class_oid); appendPQExpBufferChar(upgrade_buffer, '\n'); @@ -8352,7 +8352,7 @@ dumpExtension(Archive *fout, DumpOptions *dopt, ExtensionInfo *extinfo) appendPQExpBuffer(q, "DROP EXTENSION IF EXISTS %s;\n", qextname); appendPQExpBufferStr(q, - "SELECT binary_upgrade.create_empty_extension("); + "SELECT pg_catalog.binary_upgrade_create_empty_extension("); appendStringLiteralAH(q, extinfo->dobj.name, fout); appendPQExpBufferStr(q, ", "); appendStringLiteralAH(q, extinfo->namespace, fout); @@ -8530,7 +8530,7 @@ dumpEnumType(Archive *fout, DumpOptions *dopt, TypeInfo *tyinfo) if (i == 0) appendPQExpBufferStr(q, "\n-- For binary upgrade, must preserve pg_enum oids\n"); appendPQExpBuffer(q, - "SELECT binary_upgrade.set_next_pg_enum_oid('%u'::pg_catalog.oid);\n", + "SELECT pg_catalog.binary_upgrade_set_next_pg_enum_oid('%u'::pg_catalog.oid);\n", enum_oid); appendPQExpBuffer(q, "ALTER TYPE %s.", fmtId(tyinfo->dobj.namespace->dobj.name)); diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 6a7a6415f6e3902c5e63883e71a735c65bd15ca0..7169ad09ccfa75c13a7ff138dc6a48368bdc075e 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -781,7 +781,7 @@ dumpRoles(PGconn *conn) { appendPQExpBufferStr(buf, "\n-- For binary upgrade, must preserve pg_authid.oid\n"); appendPQExpBuffer(buf, - "SELECT binary_upgrade.set_next_pg_authid_oid('%u'::pg_catalog.oid);\n\n", + "SELECT pg_catalog.binary_upgrade_set_next_pg_authid_oid('%u'::pg_catalog.oid);\n\n", auth_oid); } diff --git a/src/include/catalog/pg_proc.h b/src/include/catalog/pg_proc.h index 9caa0960d50a23746dda45d0c218e3fa3714993c..8469c82d27b6165ab0f90f1fa243feb9428cdae5 100644 --- a/src/include/catalog/pg_proc.h +++ b/src/include/catalog/pg_proc.h @@ -5181,6 +5181,26 @@ DESCR("rank of hypothetical row without gaps"); DATA(insert OID = 3993 ( dense_rank_final PGNSP PGUID 12 1 0 2276 0 f f f f f f i 2 0 20 "2281 2276" "{2281,2276}" "{i,v}" _null_ _null_ hypothetical_dense_rank_final _null_ _null_ _null_ )); DESCR("aggregate final function"); +/* pg_upgrade support */ +DATA(insert OID = 3582 ( binary_upgrade_set_next_pg_type_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_pg_type_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3584 ( binary_upgrade_set_next_array_pg_type_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_array_pg_type_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3585 ( binary_upgrade_set_next_toast_pg_type_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_toast_pg_type_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3586 ( binary_upgrade_set_next_heap_pg_class_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_heap_pg_class_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3587 ( binary_upgrade_set_next_index_pg_class_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_index_pg_class_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3588 ( binary_upgrade_set_next_toast_pg_class_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_toast_pg_class_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3589 ( binary_upgrade_set_next_pg_enum_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_pg_enum_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3590 ( binary_upgrade_set_next_pg_authid_oid PGNSP PGUID 12 1 0 0 0 f f f f t f v 1 0 2278 "26" _null_ _null_ _null_ _null_ binary_upgrade_set_next_pg_authid_oid _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); +DATA(insert OID = 3591 ( binary_upgrade_create_empty_extension PGNSP PGUID 12 1 0 0 0 f f f f t f v 7 0 2278 "25 25 16 25 1028 1009 1009" _null_ _null_ _null_ _null_ binary_upgrade_create_empty_extension _null_ _null_ _null_ )); +DESCR("for use by pg_upgrade"); + /* * Symbolic values for provolatile column: these indicate whether the result