Renommer plusieurs colonnes dans un énoncé avec PostgreSQL

est-il possible de renommer plusieurs colonnes dans une même instruction, quelque chose comme:

ALTER TABLE Users
    RENAME COLUMN userName TO user_name, 
    RENAME COLUMN realName TO real_name;
20
demandé sur Erwin Brandstetter 2014-04-24 20:30:38

1 réponses

Non.

alors que d'autres actions peuvent être combinées, ce n'est pas possible avec RENAME. manuel:

Toutes les formes de ALTER TABLE qui agissent sur un seul tableau, à l'exception RENAME,SET SCHEMA,ATTACH PARTITION et DETACH PARTITION peut être combiné en une liste de modifications multiples à appliquer ensemble.

Depuis RENAME est une opération minuscule sur un catalogue système, il n'y a aucun mal à exécuter des déclarations multiples. Faites-le en une seule transaction pour réduire au minimum les frais généraux de verrouillage.

autres actions comme ALTER COLUMN ... SET TYPE sont potentiellement coûteux parce qu'ils peuvent devoir réécrire la table entière. Avec de grandes tables il serait sage de faire autant que possible dans une seule déclaration.

30
répondu Erwin Brandstetter 2018-04-12 11:58:51