Como alterar o tipo de dados de uma coluna em uma tabela PostgreSQL?

102

Inserir o seguinte comando em um terminal interativo PostgreSQL resulta em um erro:

ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);

Qual é o comando correto para alterar o tipo de dados de uma coluna?

kn3l
fonte

Respostas:

169

Consulte a documentação aqui: http://www.postgresql.org/docs/current/interactive/sql-altertable.html

ALTER TABLE tbl_name ALTER COLUMN col_name TYPE varchar (11);
Derek Kromm
fonte
28
Para alguns outros casos, pode ser necessário especificar a forma de lançar comoALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;
Nobu
3
@Nobu por que temos que fazer isso some casese quais são esses casos?
Darth.Vader
2
@ Darth.Vader você pode precisar fazer isso quando já houver dados existentes na coluna que não podem ser convertidos automaticamente.
Jonathan Porter