PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Query PostgreSQL per rinominare e modificare il tipo di colonna con una singola query

In PostgreSQL, ALTER TABLE può richiedere una serie di operazioni. Quindi:

ALTER TABLE <tablename> RENAME <oldcolumn> TO <newcolumn>;
ALTER TABLE <tablename> ALTER COLUMN <columnname> TYPE <newtype>;

è uguale a

ALTER TABLE <tablename> 
  ALTER COLUMN <columnname> TYPE <newtype>
  RENAME <oldcolumn> TO <newcolumn>;

Tuttavia... perché? IIRC la ridenominazione non causerà una scansione dell'intera tabella, quindi non c'è alcun vantaggio nel fare solo le due istruzioni separatamente, all'interno di una transazione. Quale problema stai effettivamente cercando di risolvere con questo?