Изменение типа данных таблиц с varchar на текстовый PostgreSQL - PullRequest
3 голосов
/ 10 июля 2009

У меня есть проблема, и я ищу решение в Google, но не могу ее найти. У меня есть таблица postgres с именем products_199, и в этой таблице есть столбец с именем parameter2 type varchar (255). Я хочу изменить тип данных на text, но каким-то образом я получаю следующую ошибку

ОШИБКА: синтаксический анализатор: ошибка синтаксического анализа в или около "TYPE" в символ 50

Моя команда выглядит следующим образом, что я хочу выполнить

ALTER TABLE products_199 ALTER COLUMN parameter2 TYPE text;

Я использую PostgreSQL 7.3.4

1 Ответ

3 голосов
/ 10 июля 2009

Я думаю , что синтаксис доступен только в более новых версиях PostgreSQL.

Если вы не можете изменить версию (7.3.4 довольно старая), я предлагаю вам просто добавить новый столбец, скопировать данные и удалить старый столбец. Это был бы самый безопасный способ имо.

Примерно так (не проверено, сначала сделайте резервную копию!)

begin; 
alter table products_199 add column parameter2_n text; 
update products_199 set parameter2_n=parameter2; 
alter table products_199 drop column parameter2;
commit;
vacuum; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...