Il suffit d'ajouter le filtre sur schéma à la clause where, c.a.d
WHERE table_name<>lower(table_name)
devient
WHERE table_name<>lower(table_name) AND table_schema='public'
Plus généralement on peut aussi ne faire qu'afficher les renommages au lieu de les exécuter pour contrôler visuellement et faire le tri si nécessaire.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| DO $$
DECLARE
tablename text;
schemaname text;
stmt text;
BEGIN
FOR schemaname,tablename IN SELECT table_schema,table_name
FROM information_schema.TABLES
WHERE table_name<>lower(table_name)
LOOP
stmt:=format('ALTER TABLE %I.%I RENAME TO %I',
schemaname,
tablename,
lower(tablename));
raise info '%;', stmt;
END LOOP;
END;
$$ LANGUAGE plpgsql; |
Partager