У нас в организации написали когда-то программу, которая базируется на версии PostgreSQL 9.0
Программа была рассчитана на WinXP.
Недавно мне пришлось устанавливать эту программу на Win 8. Скачал дистрибутив последней версии PostgreSQL 9.1.1-1 для Windows (32 bit).
Установил, поднял из бакапа базу, все заработало. Народ проработал некоторое время и вдруг у них возникла необходимость снова работать на ХР.
Делаю бакап базы на версии 9.1.1-1, он спокойно поднимается на PostgreSQL 9.0 но при запуске программы выходит:
invalid input syntax for type date: "3"
CONTEXT: SQL statement "select const_value::date from const where const_name= 'BACKUP_DATE'"
PL/pgSQL function "up_after_restore" line 28 at SQL statement
! Код ошибки: 7
Вопросы:
1. Это проблема переноса данных или настройки PostgreSQL
2. Можно ли решить эту проблему на уровне СУБД или необходимо вмешательство программистов?
3. Если установить PostgreSQL 9.1.1-1, необходимо предварительно снести PostgreSQL 9.0?
Никто совместимость дампов
Никто совместимость дампов старшей версии с младшей не гарантирует. По всей видимости, старой версии чего-то не хватает из того, что есть в новой.
Ответы:
1. Поскольку неправильный синтаксис, то скорее проблема переноса данных
2. Возможно всё, главное понять, что не нравится и где и поправить. Включите логгирование запросов, дамп лучше в текстовом виде переносить.
3. Разумеется, две версии PostgreSQL одновременно на Windows вряд ли будут работать.