Переименование нескольких столбцов в одном операторе с помощью 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 потенциально дороги, потому что им, возможно, придется переписать всю таблицу. С большими столами, было бы разумно сделать как можно больше в одном заявлении.