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]