Подтвердить что ты не робот

Переименование нескольких столбцов в одном выражении с помощью PostgreSQL

Можно ли переименовать несколько столбцов в один оператор, что-то вроде строк:

ALTER TABLE Users
    RENAME COLUMN userName TO user_name, 
    RENAME COLUMN realName TO real_name;
4b9b3361

Ответ 1

Нет.

В то время как другие действия могут быть объединены, что невозможно при RENAME. В соответствии с документацией:

Все действия, кроме RENAME и SET SCHEMA, могут быть объединены в список множественных изменений, применяемых параллельно.

Так как RENAME - крошечная операция в системном каталоге, нет вреда при запуске нескольких операторов. Сделайте это в одной транзакции, чтобы свести к минимуму блокировку.

Другие действия, такие как ALTER COLUMN ... SET TYPE, потенциально дороги, потому что им может потребоваться переписать всю таблицу. С большими таблицами было бы разумнее сделать как можно больше с помощью одного заявления.