Pesquisa PostgreSQL para mudar o nome e mudar o tipo de coluna com pesquisa única

no PostgreSQL se precisar de mudar o nome e o tipo de dados da coluna, devo executar duas consultas separadas para o fazer.

para mudar o nome:

ALTER TABLE <tablename> RENAME <oldcolumn> TO <newcolumn> 

e para mudar o tipo de coluna:

ALTER TABLE <tablename> ALTER COLUMN <columnname> <columntype>.

mas existe alguma maneira de fazer ambos os trabalhos com uma única consulta Como seguir a consulta MySQL:

ALTER TABLE <tableName> CHANGE COLUMN <oldcolumnname> <newcolumnname> <newtype>
Author: Craig Ringer, 2014-08-20

2 answers

Em PostgreSQL, {[2] } pode ter uma série de operações. Então ...

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

É o mesmo que

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

No entanto... Por quê? A mudança de nome da IIRC não vai causar uma análise completa da tabela, então não há benefício em apenas fazer as duas declarações separadamente, dentro de uma transação. Que problema estás a tentar resolver com isto?

 71
Author: Craig Ringer, 2014-08-20 07:07:15

PostgreSQL: alterar o nome da coluna da tabela e o tipo de dados:

ALTER TABLE <TableName> 
   ALTER [ COLUMN ] column [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
  RENAME [ COLUMN ] column TO new_column;

Ver ALTER TABLE.

 2
Author: jainvikram444, 2014-08-20 07:29:33