Как изменить тип данных столбца в таблице PostgreSQL?

Ввод следующей команды в интерактивный терминал PostgreSQL приводит к ошибке:

ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);

Какова правильная команда для изменения типа данных столбца?

4 ответа

Решение

См. Документацию здесь: http://www.postgresql.org/docs/current/interactive/sql-altertable.html

ALTER TABLE tbl_name ALTER COLUMN col_name TYPE varchar (11);

Если данные уже существуют в столбце, вам следует сделать:

      ALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;

Как указано @nobu и @ jonathan-porter в комментариях к ответу @ derek-kromm.

Cool @derek-kromm, Ваш ответ принят и правильный, но мне интересно, нужно ли нам alterбольше, чем столбец. Вот как мы можем это сделать.

      ALTER TABLE tbl_name 
ALTER COLUMN col_name TYPE varchar (11), 
ALTER COLUMN col_name2 TYPE varchar (11),
ALTER COLUMN col_name3 TYPE varchar (11);

Документация

Ваше здоровье!! Читать просто Написать просто

Я работал с pgAdmin4 и использовал postgres 10, я наткнулся на изменение таблицы, но с ошибкой:
sql state 42703


Я уже пробовал применять приведенные выше советы, но безрезультатно.

Мой запрос был:
ALTER TABLE BillingPayments
ALTER COLUMN referenceNumber TYPE VARCHAR;


Итак, чтобы исправить эту проблему, я использовал этот запрос:

ALTER TABLE public."BillingPayments"
ALTER COLUMN "referenceNumber: TYPE VARCHAR;

Другие вопросы по тегам