Я переношу приложение с Oracle на Postgresql. В одной из функций, которые я уже перенес, я копирую данные из другой базы данных Oracle (ссылка на базу данных в Oracle, расширение oracle_fdw в postgresql) из нескольких таблиц в локальную таблицу в моей базе данных postgresql. Однако я получаю следующую ошибку:
NOTICE: Insert data into table from remote table : insert into IP_MAN
select * from IP_MAN_production
NOTICE: PROCEDURE copy_table : V_Step = 4 // **SQLERRM = date/time field
value out of range: "1400-02-29 00:00:00 AD"**
CONTEXT: converting column "birthday" for foreign table scan of "ip_man_production",
row 32481
Когда я пытаюсь выбрать конкретную строку в Oracle db, я получаю следующее значение:
select date from bezeq.ip_manuim where
birthday=to_date('29/02/1400','dd/mm/yyyy');
birthday
--------
01010001
день рождения - тип данных - метка времени без часового пояса.
Любая идея ?
UPDATE
запрос, устанавливающий их годы на 2000, может решить вашу проблему, если месяц и дата имеют значение. - person coladict   schedule 24.07.2017date
, ноbirthdate
является проблематичным. - person coladict   schedule 24.07.2017