Ошибка СУБД 42723 ERROR (duplicate_function)

1. AD_VS 06.05.22 12:12 Сейчас в теме
Доброго времени суток!
Столкнулся с непонятным мне поведением при подключении к базе. База была перемещена с помощью команды:
pg_dumpall --clean --quote-all-identifiers  -v -p 5401 -h ххх.ххх.ххх.ххх | psql

из кластера PostgreSQL 9.6 в кластер PostgreSQL 12.10 (pg_dumpall запускался из под последнего). Ошибок в логе дампа не наблюдалось, но при добавлении публикации на сервере 1С и последующем её запуске в приложении получаю:
Ошибка СУБД:
42723 ERROR:  function "mchartypmod_in" already exists with same argument types


В логе же самого PostgreSQL:
 [666449] LOG:  duration: 1.965 ms  statement: sel ect installed_version fr om pg_available_extensions where name = 'mchar'
 [666449] ERROR:  function "mchartypmod_in" already exists with same argument types
 [666449] STATEMENT:  create extension if not exists mchar


В чем может быть причина такого поведения?

P.S. Прошу MSSQL не предлагать =)
Найденные решения
11. AD_VS 12.05.22 10:02 Сейчас в теме
(10) На 8.3.18.1520 всё работает нормально. Подключился к перенесенной базе без каких либо ошибок. Значит проблема таки в платформе.
al.gerasimov; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TokarevV 30 06.05.22 13:08 Сейчас в теме
А база большая? Выгружать в dt тоже не предлагать?
4. AD_VS 06.05.22 15:03 Сейчас в теме
(2)не большая, но для дальнейшего масштабирования и автоматизации этого процесса было бы корректнее средствами постгрес это делать
3. wladimirpav 06.05.22 14:15 Сейчас в теме
(1) Вроде как если делать бэкап из PostgreSQl другой версии, то он работать не будет. Сам с таким столкнулся - делал бэкап базы на 9.4 с помощью 11 PSQL - не восстанавливалась база из бэкапа. Также в 12 как базу создавали новую? Нужно с помощью утилиты администрирования сервера 1С
5. AD_VS 06.05.22 15:05 Сейчас в теме
(3)на 12 средствами postgresql из template0
6. wladimirpav 07.05.22 12:50 Сейчас в теме
(5) Нужно базу добавлять в утилите администрирования и затем в нее бэкап восстанавливать
7. AD_VS 11.05.22 14:11 Сейчас в теме
(6) Результат тот же и при таком порядке действий
8. ansh15 11.05.22 15:47 Сейчас в теме
Для переноса баз из одной редакции СУБД в другую(более новую) нужна утилита pg_upgrade.
Подробная инструкция с примерами здесь
Либо посредством pg_dump/pg_restore каждой базы. Автоматизация этого процесса однократно написанными скриптами несложна.
Или выгрузка/загрузка dt утилитой ibcmd от автономного сервера 1с. Ей никакой сервер приложений для этого не нужен, работает непосредственно с СУБД.
Ну да, dt не является резервной копией... Если не следить за базой, конечно, не будет являться.
9. ansh15 11.05.22 21:54 Сейчас в теме
Нашел старую выгрузку, сделанную pg_dump-ом для PostgreSQL 9.6.6, загрузил в 14.2. На платформе версий 8.3.18 и 8.3.21 возникает та же ошибка что и у автора темы и ИБ 1С не создается. В 8.3.14.2095 ИБ создается без ошибок.
Если взять дамп от PostgreSQL 11.7 и так же загрузить в 14.2, то в 8.3.18 и 8.3.21 ИБ создается нормально, без ошибок.
Так что, видимо, только через dt. Или манипуляции с версиями платформы.
10. AD_VS 12.05.22 09:23 Сейчас в теме
(9) Прошу простить, что не указал свою версию. Работаю с 1С:Предприятие 8.3 (8.3.19.1467). Утилита pg_upgrade мне известна, но уже имеется скрипт переноса посредством pg_dump/pg_restore и планируется так же убить "второго зайца" обновив ОС на сервере БД. В идеале базы переезжают дампом на новый PostgreSQL и новую ОС. Про манипуляции с версиями платформы очень интересный подход, ради эксперимента попробую. О результатах постараюсь отписаться в теме.
11. AD_VS 12.05.22 10:02 Сейчас в теме
(10) На 8.3.18.1520 всё работает нормально. Подключился к перенесенной базе без каких либо ошибок. Значит проблема таки в платформе.
al.gerasimov; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот