Переименование нескольких столбцов в одном операторе с помощью PostgreSQL
можно ли переименовать несколько столбцов в одном операторе, что-то вроде:
ALTER TABLE Users
RENAME COLUMN userName TO user_name,
RENAME COLUMN realName TO real_name;
1 ответов
нет.
в то время как другие действия могут быть объединены, это невозможно с RENAME
. инструкции:
все формы
ALTER TABLE
которые действуют на одной таблице, за исключениемRENAME
,SET SCHEMA
,ATTACH PARTITION
иDETACH PARTITION
может быть объединены в список нескольких изменений, которые будут применяться вместе.
С RENAME
это крошечная операция в системном каталоге, нет никакого вреда в запуске нескольких операторов. Сделайте это за одну транзакцию, чтобы минимизировать накладные расходы на блокировку.
другие действия, такие как ALTER COLUMN ... SET TYPE
потенциально дороги, потому что им, возможно, придется переписать всю таблицу. С большими столами, было бы разумно сделать как можно больше в одном заявлении.