Prima di spiegare come fare, lo farei fortemente suggerire di NON farlo.
In PostgreSQL, se i nomi di tabelle o colonne non sono tra virgolette, come:
SELECT Name FROM MyTable WHERE ID = 10
In realtà si sono piegati automaticamente in minuscolo in primo luogo, quindi la query sopra è identica a:
SELECT name FROM mytable WHERE id = 10
Se dovessi convertire tutti i nomi in maiuscolo, questa affermazione NON funzionerà :
SELECT NAME FROM MYTABLE WHERE ID = 10
Dovrai citare ogni singolo nome in questa query per farlo funzionare:
SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10
Se, d'altra parte, utilizzi l'accordo PostgreSQL standard solo minuscolo, puoi utilizzare qualsiasi combinazione di maiuscole e minuscole e funzionerà purché non citi alcun nome.
Ora, se insisti ancora per convertire in maiuscolo, puoi farlo scaricando lo schema del database in un file usando pg_dump --schema-only
.
Dopo averlo fatto, controlla tutti i CREATE TABLE
istruzioni e costruire ALTER TABLE
dichiarazioni basate su questo dump - dovrai scrivere uno script (Perl o Python) per farlo.
In alternativa, puoi leggere INFORMATION_SCHEMA.TABLES
e/o INFORMATION_SCHEMA.COLUMNS
e anche costruire ed eseguire ALTER TABLE
appropriato dichiarazioni.