powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Изменение типа колонки с varchar на timestamp without time zone
7 сообщений из 7, страница 1 из 1
Изменение типа колонки с varchar на timestamp without time zone
    #39194872
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть колонка с данными в таблице. Тип колонки character varying, надо изменить тип на timestamp without time zone.
пробую это сделать так, ругается что надо использовать USING :
Код: sql
1.
2.
ALTER TABLE tb_table
   ALTER COLUMN column_date TYPE timestamp without time zone;

. Подскажите пожалуйста какое правило надо задать после слова USING в документации про это очень мало написано. Какой там синтаксис? Я конечно могу выгрузить данные столбца во временную таблицу удалить столбец , создать новый с новым типом и загрузить из временной...
...
Рейтинг: 0 / 0
Изменение типа колонки с varchar на timestamp without time zone
    #39194900
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tortilka,

Пробуйте читать еще более внимательно: http://www.postgresql.org/docs/9.2/static/sql-altertable.html
Особое внимание обратите на примеры.
авторTo change an integer column containing UNIX timestamps to timestamp with time zone via a USING clause:

ALTER TABLE foo
ALTER COLUMN foo_timestamp SET DATA TYPE timestamp with time zone
USING
timestamp with time zone 'epoch' + foo_timestamp * interval '1 second';

The same, when the column has a default expression that won't automatically cast to the new data type:

ALTER TABLE foo
ALTER COLUMN foo_timestamp DROP DEFAULT,
ALTER COLUMN foo_timestamp TYPE timestamp with time zone
USING
timestamp with time zone 'epoch' + foo_timestamp * interval '1 second',
ALTER COLUMN foo_timestamp SET DEFAULT now();


Скорее всего Вам нужно вписать конвертацию строки в дату в предложение USING.
...
Рейтинг: 0 / 0
Изменение типа колонки с varchar на timestamp without time zone
    #39194908
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido, я пытаюсь это сделать
Код: sql
1.
2.
3.
ALTER TABLE tb_table
   ALTER COLUMN column_date SET DATA TYPE timestamp without time zone
   USING CAST(column_date  AS timestamp without time zone);


Пишет что нельзя изменить тип колонки которое используется в правилом, а как правильно написать я не знаю. Я понимаю что надо указать правило преобразования, но как правильно это сделать?
...
Рейтинг: 0 / 0
Изменение типа колонки с varchar на timestamp without time zone
    #39195063
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tortilka,

Эм. Может быть под "правилом" понимается "руль" (RULE)?

Посмотрите, есть ли связанные с этой таблицей рули (отображение pg_rules).
...
Рейтинг: 0 / 0
Изменение типа колонки с varchar на timestamp without time zone
    #39195121
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido,
нет там правил, связанных с этой таблицей. И мне кажется не об этих правилах идет речь.
...
Рейтинг: 0 / 0
Изменение типа колонки с varchar на timestamp without time zone
    #39195136
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tortilka,

Приведите полный текст ошибки.
...
Рейтинг: 0 / 0
Изменение типа колонки с varchar на timestamp without time zone
    #39195496
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ursido, спасибо, эта колонка была в представлении. Просто невнимательность. Сорри, тема закрыта.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Изменение типа колонки с varchar на timestamp without time zone
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]