Avant d'expliquer comment faire cela, je voudrais fortement suggère de NE PAS faire cela.
Dans PostgreSQL, si les noms de table ou de colonne ne sont pas entre guillemets, comme :
SELECT Name FROM MyTable WHERE ID = 10
Ils sont en fait automatiquement pliés en minuscules d'abord, donc la requête ci-dessus est identique à :
SELECT name FROM mytable WHERE id = 10
Si vous deviez convertir tous les noms en majuscules, cette instruction ne fonctionnera PAS :
SELECT NAME FROM MYTABLE WHERE ID = 10
Vous devrez mettre entre guillemets chaque nom dans cette requête pour que cela fonctionne :
SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10
Si, d'un autre côté, vous utilisez uniquement l'accord standard PostgreSQL en minuscules, vous pouvez utiliser n'importe quelle combinaison de casse et cela fonctionnera tant que vous ne citerez aucun nom.
Maintenant, si vous insistez toujours pour convertir en majuscules, vous pouvez le faire en vidant votre schéma de base de données dans un fichier en utilisant pg_dump --schema-only
.
Après avoir fait cela, cochez tous les CREATE TABLE
et construisez ALTER TABLE
approprié
instructions basées sur ce vidage - vous devrez écrire un script (Perl ou Python) pour le faire.
Alternativement, vous pouvez lire INFORMATION_SCHEMA.TABLES
et/ou INFORMATION_SCHEMA.COLUMNS
et également construire et exécuter ALTER TABLE
approprié déclarations.