postgres.git / summary / log / commit / refs
commit 9c48a0f00011c45d9a7b8903ffbecd286cf46de0
Author: Michael Paquier <michael@paquier.xyz>
Date: Fri Dec 23 02:27:11 2022 +0000
First released in: 16.0, 12.14, 13.10, 14.7, 15.2
Fix some incorrectness in upgrade_adapt.sql on query for WITH OIDS
The query used to disable WITH OIDS in all the relations making use of
it was checking for materialized views, but this is not a supported
operation. On the contrary, this needs to be done on foreign tables.
While on it, use quote_ident() in the ALTER TABLE strings built on the
relation name.
Author: Anton A. Melnikov, Michael Paquier
Discussion: https://postgr.es/m/49f389ba-95ce-8a9b-09ae-f60650c0e7c7@inbox.ru
Backpatch-through: 12
src/bin/pg_upgrade/upgrade_adapt.sql | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/bin/pg_upgrade/upgrade_adapt.sql b/src/bin/pg_upgrade/upgrade_adapt.sql
index 27c4c7fd011..d0580e42823 100644
--- a/src/bin/pg_upgrade/upgrade_adapt.sql
+++ b/src/bin/pg_upgrade/upgrade_adapt.sql
@@ -72,10 +72,10 @@ DO $stmt$
FROM pg_class
WHERE relname !~ '^pg_'
AND relhasoids
- AND relkind in ('r','m')
+ AND relkind in ('r', 'f')
ORDER BY 1
LOOP
- execute 'ALTER TABLE ' || rec || ' SET WITHOUT OIDS';
+ EXECUTE 'ALTER TABLE ' || quote_ident(rec) || ' SET WITHOUT OIDS';
END LOOP;
END; $stmt$;
\endif
[parent: e3897a3a4c55]