¿Cómo alterar el tipo de datos de una columna en una tabla de PostgreSQL?

102

Al ingresar el siguiente comando en un terminal interactivo de PostgreSQL, se produce un error:

ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);

¿Cuál es el comando correcto para alterar el tipo de datos de una columna?

kn3l
fuente

Respuestas:

168

Consulte la documentación aquí: http://www.postgresql.org/docs/current/interactive/sql-altertable.html

ALTER TABLE tbl_name ALTER COLUMN col_name TYPE varchar (11);
Derek Kromm
fuente
28
Para algunos otros casos, es posible que deba especificar la forma de transmitir comoALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;
Nobu
3
@Nobu, ¿por qué tenemos que hacer esto en some casesy cuáles son esos casos?
Darth.Vader
2
@ Darth.Vader, es posible que deba hacer esto cuando ya existen datos en la columna que no se pueden transmitir automáticamente.
Jonathan Porter