sql >> Base de Datos >  >> RDS >> PostgreSQL

Cambiar los nombres de las columnas de la tabla a mayúsculas en postgres

Antes de explicar cómo hacer esto, fuertemente sugiero NO hacer eso.

En PostgreSQL, si los nombres de tablas o columnas no están entre comillas, como:

SELECT Name FROM MyTable WHERE ID = 10

En realidad, automáticamente doblaron a minúsculas primero, por lo que la consulta anterior es idéntica a:

SELECT name FROM mytable WHERE id = 10

Si tuviera que convertir todos los nombres a mayúsculas, esta declaración NO funcionará :

SELECT NAME FROM MYTABLE WHERE ID = 10

Tendrá que poner comillas dobles en cada nombre de esta consulta para que funcione:

SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10

Si, por otro lado, usa el acuerdo estándar de solo minúsculas de PostgreSQL, puede usar cualquier combinación de mayúsculas y minúsculas y funcionará siempre que no cite ningún nombre.

Ahora, si aún insiste en convertir a mayúsculas, puede hacerlo volcando el esquema de su base de datos en un archivo usando pg_dump --schema-only .

Después de hacer eso, verifique todo CREATE TABLE declaraciones y construir ALTER TABLE apropiados declaraciones basadas en este volcado:tendrá que escribir algún script (Perl o Python) para hacerlo.

Alternativamente, puede leer INFORMATION_SCHEMA.TABLES y/o INFORMATION_SCHEMA.COLUMNS y también construya y ejecute ALTER TABLE apropiado declaraciones.