PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Altere os nomes das colunas da tabela para maiúsculas no postgres


Antes de explicar como fazer isso, eu fortemente sugiro NÃO fazer isso.

No PostgreSQL, se os nomes das tabelas ou colunas não estiverem entre aspas, como:
SELECT Name FROM MyTable WHERE ID = 10

Na verdade, eles dobram automaticamente para letras minúsculas primeiro, então a consulta acima é idêntica a:
SELECT name FROM mytable WHERE id = 10

Se você converter todos os nomes para letras maiúsculas, esta instrução NÃO funcionará :
SELECT NAME FROM MYTABLE WHERE ID = 10

Você terá que colocar aspas duplas em cada nome nesta consulta para fazê-la funcionar:
SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10

Se, por outro lado, você usar o acordo padrão do PostgreSQL somente com letras minúsculas, você pode usar qualquer combinação de maiúsculas e minúsculas e funcionará desde que você não cite nenhum nome.

Agora, se você ainda insistir em converter para maiúsculas, você pode fazer isso despejando seu esquema de banco de dados em um arquivo usando pg_dump --schema-only .

Depois de fazer isso, verifique todos os CREATE TABLE e construa o ALTER TABLE apropriado instruções baseadas neste dump - você terá que escrever algum script (Perl ou Python) para fazer isso.

Como alternativa, você pode ler INFORMATION_SCHEMA.TABLES e/ou INFORMATION_SCHEMA.COLUMNS e também construir e executar o ALTER TABLE apropriado declarações.