PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Променете имената на колоните в таблицата с главни букви в postgre

Преди да обясня как да направя това, бихсилно предлагам да НЕ правите това.

В PostgreSQL, ако имената на таблици или колони са без кавички, като:

SELECT Name FROM MyTable WHERE ID = 10

Те всъщност автоматично сгънати до малки букви първо, така че горната заявка е идентична с:

SELECT name FROM mytable WHERE id = 10

Ако преобразувате всички имена в главни букви, този оператор НЯМА да работи :

SELECT NAME FROM MYTABLE WHERE ID = 10

Ще трябва да поставите в двойни кавички всяко едно име в тази заявка, за да работи:

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

Ако, от друга страна, използвате стандартно споразумение само с малки букви на PostgreSQL, можете да използвате произволна комбинация от малки букви и тя ще работи, стига да не цитирате име.

Сега, ако все още настоявате да конвертирате в главни букви, можете да направите това, като изхвърлите схемата на вашата база данни във файл, като използвате pg_dump --schema-only .

След като направите това, маркирайте всички CREATE TABLE изрази и конструиране на подходящи ALTER TABLE изявления, базирани на този дъмп - ще трябва да напишете някакъв скрипт (Perl или Python), за да направите това.

Като алтернатива можете да прочетете INFORMATION_SCHEMA.TABLES и/или INFORMATION_SCHEMA.COLUMNS и също така конструирайте и изпълнете подходящ ALTER TABLE изявления.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте обект `DataSource` за Postgres JDBC, програмно

  2. Регистриране на одит за PostgreSQL

  3. Postgresql таблици съществуват, но получаването на релация не съществува при запитване

  4. Тригер срещу ограничение за проверка

  5. PGLogical 1.1 пакети за PostgreSQL 9.6beta1