Задать вопрос
partisan42
@partisan42
Новичок в Linux.

Почему не восстанавливаются резервные копии?

Доброго дня.
Появилась проблема, и я очень прошу помощи.

Суть.
Есть сервер с CentOS 6, на базе которого крутится postgres.
[root@DataB ~]# psql -V
psql (PostgreSQL) 9.4.2

Там имеются базы данных, которые используются как базы 1С.
На этом сервере есть sh скрипт который выполняется по cron. Суть этого скрипта, это бэкапить базы на NAS. Пример скрипта, приведу ниже.
/usr/pgsql-9.4/bin/pg_dump --host localhost --port 5432 --username "postgres" --role "postgres" --no-password  --format custom --blobs --compress 9 --encoding UTF8 --verbose --file /mnt/NASbackup/Buh_UKEKNew/Buh_UKEKNew-$(date +%Y-%m-%d).backup "Buh_UKEKNew"  2> $LOG_FILE

И вроде всё делается нормально, бэкапы делаются, я спокоен, и пару мепсяцев один из них разворачивал, и тут попытался сделать это снова с помощью...
pg_restore --host localhost --port 5432 --username "postgres" --dbname "Buh_sheregesh_31032021" --role "postgres" --no-password --clean  --section pre-data --section data --section post-data --verbose "/root/Buh_sheregesh3-2021-03-31.backup"

База изначально была создана с помощью консоли 1С.
606dc4dbc0328954647390.png
И вот, после восстановления бэкапа я получаю следующее.
WARNING: errors ignored on restore: 23685
You have mail in /var/spool/mail/root

Другие бэкапы так же пытался восстановить. Количество ерроров меняется, но суть остаётся неизменной.
Я получаю следующее.
606dc59f11e41489778376.png
И вот полный текст.
Невосстановимая ошибка
Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
по причине:
Ошибка при выполнении операции с информационной базой
Ошибка СУБД:
XX000: ERROR: There are 2 candidates for 'mchar_pattern_fixed_prefix' function'

по причине:
Ошибка СУБД:
XX000: ERROR: There are 2 candidates for 'mchar_pattern_fixed_prefix' function'

Что то мне подсказывает что это может быть типичная ошибка новичка, но я пока ума не приложу, в какую сторону копать?

PS. Я понимаю что и CentOS старый, и PGSQL. Но пока не было возможности остановить предприятие более чем на 8 часов, что бы всё перенести, а текучку никто не отменял:(
  • Вопрос задан
  • 3514 просмотров
Подписаться 2 Средний 10 комментариев
Решения вопроса 1
@kav1984
У меня, тоже перестали восстанавливаться бэкапы.
1с 8.3 + Win serv 2008 + Postgres 9.6.7-1.1С
Делались бэкапы скриптом из командной строки.

Раньше работала такая последовательность действий. Создавал с помощью 1с пустую базу Postgres и восстанавливал из командной строки используя pg_restore
Но сейчас при восстановлении стали сыпаться ошибки и в итоге как у вас при входе в 1с
XX000: ERROR: There are 2 candidates for 'mchar_pattern_fixed_prefix' function'

Все заработало при такой последовательности:
Создал пустую базу в PgAdmin3 1.22.2 с шаблоном template0
И восстановил базу в самом же PgAdmin. Ошибок не было.
Затем создал базу с таким же именем в 1с и все заработало.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@mkone112
Начинающий питонист.
У меня к счастью мало опыта с 1с, но могу точно сказать что ты облажался. Бекап делается следующим образом - снимаем образ(желательно всего и вся), а потом делаем вид будто серверная взорвалась, вместе со зданием. После этого - пытаемся восстановить, если не удалось - значит бекапа никогда не было.
Ответ написан
@GrandGCH
Некропостинг, но может кому поможет.
Проблему заметил еще когда CMD вывод писал, но внимания не обратил, получил эту ошибку.
Чтобы не восстанавливать базу еще раз, в моем случае 1.5 часа, можно отправить следующий SQL запрос на эту базу, я делал через PGAdmin, где в схему базы не давало провалиться из-за этой ошибки.
"DROP FUNCTION IF EXISTS mchar_pattern_fixed_prefix (internal, internal, internal)".
По идее, остается только эта функция с 4-мя аргументами (на моих остальных 1С базах, эта функция имеет только 4 аргумента) и все работает.
Ответ написан
Комментировать
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Разберитесь, что означает каждый ключ в обеих ваших командах - на мой взгляд, даже несмотря на то, что я не знаком со спецификой обработанного напильников для 1С постгреса, около половины из них нафиг не нужна.

Возможно, стоит загуглить какие-то стандартные, общерекомендованные решения по бэкапу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы