Добрый день.
Стояла RADHAT5 что-то случилось с фйаловой системой. Пришел человек и установил SLACKWARE13 перенес postgres и сервер 1с. Запустил это все дело и ушел. Теперь нужно настроить автоархивирование (pg_dump+cron).
коммандой pg_dump -U postgres -Fc -Z9 -f BACKNAME DBNAME создаются дампы, ошибок в логах ни каких нет. Попыталcя восстановить pg_restore -U postgres -Fc -c -d DBNAME BACKNAME - база восстанавливается с ошибками. Пробовал разные варианты восстанавливал в только-что созданную постгрес БД, из pgAdmin, из 1С, из оснастки управления сервером 1С, результат плачевный. Сделал дамп в sql, так же восстановление проходит с ошибками - восстановленная БД не рабочая. Куда капнуть даже не предполагаю... Подскажите пожалуйста, умные люди.
Сначала
Сначала прочитайте:
http://postgresql.ru.net/manual/backup.html
далее, если после проработки материала будут ошибки - покажите какие, тогда и будем думать
Это уже прочитано... Привожу
Это уже прочитано...
Привожу кусок лога при восстановлении
в итоге имеем не рабочую базу.
Давайте угадаю с одного
Давайте угадаю с одного раза.
Восстанавливаете вы не в старую базу, а в новую, верно?
Кроме того у вас не стандартный PostgtreSQL, а который для 1C - точно?
В общем два рецепта есть как победить проблему:
1. Создавайте новую БД (в которую делаете восстановление) не сами, а с помощью 1C
2. Если создаёте новую БД сами, попробуйте создавать с помощью шаблона, в качестве которого используйте рабочую БД, созданную 1C
Совершенно верно!пункт 1
Совершенно верно!
пункт 1 пробовал. Этот лог как раз таки с этого варианта, как ни странно...
пункт2 сечас попробую.
попробовал вариант 2 при восстановлении 10 ошибок... 1С сообщает что база не обнаружена...
Тут такая штука. Патченый для
Тут такая штука. Патченый для 1C PostgreSQL содержит в себе библиотеку для поддержки специального типа данных mchar (mvchar, mvachar). Но если вы создаёте БД руками, этот тип данных в БД не прогружается как и его обвязка (CAST'ы и прочее). Поэтому при восстановлении pg_restore выдаёт ошибки - там используется данный тип, а как с ним работать СУБД не знает.
Т.е. чтобы заработало, надо прогрузить либу в БД, создав данный тип и обвязку к нему. Как сделать это вручную, я к сожалению, не знаю. Но вот что я бы сделал. Включил бы в PostgreSQL логгирование запросов к базе, затем бы создал БД из 1C, затем выключил логгирование и посмотрел какие команды при создании БД попали в лог, относящиеся к mchar. Тогда можно было бы создать пустую БД самому и накатить эти команды, после чего всё должно заработать.