Только начал разбираться с этим вопросом, но пока что то не получается. Подскажите пожалуйста, задача состоит в том чтобы делать Бэкап базы 1с или всего кластера. Соответственно необходима помощь в использовании команд pg_dump и pg_dumpall. Помогите пожалуйста создать два таких скрипта один из которых бы копировал только базу 1с, а другой целиком все.
Хотелось бы понять каким способом pg_dump или pg_dumpall целесообразнее бэкапить базы 1с?
Если я правильно понимаю, то в случае если архив был создан посредством pg_dump, то восстановить ее можно ТОЛЬКО в другую пустую базу? Или есть вариант восстановления в ту же самую базу, но с перезаписью?
А как выглядит восстановление из архива созданного pg_dumpall, весь кластер полностью перепишется вместе с базами? Или тоже нужно создать новый кластер и восстанавливать туда?
Помогите написать скрипты пожалуйста.
Да и еще, у меня PostgreSQL 8.2.4-6.1C + 1c 8.1.11.67 под Win 2003
Создал копию
Создал копию всего кластера командой pg_dumpall.exe -U postgres -c > c:\db.out
Решил восстановить кластер из своей резервной копии командой psql -U postgres -f c:\db.out
Об ошибках не писал мне ничего, после восстановления запускаю базу, а она пустая совершенно. Может дело в OIDS?
Документацию
Документацию по ключам читали?
Я предпочитаю и бакапить и восстанавливать в текстовом виде. Никогда никаких проблем не было в этом случае. Попробуйте. Скипты вам вряд ли кто будет писать - система ваша, так что экспериментировать вам. Мы разве что посоветовать можем какие-то вещи, если что-то вдруг не сработало.
-----------------------------------------------------------------------------------
"ls /" (C) Козьма Прутков
А что значит в
А что значит в текстовом виде? Просто может я недопонимаю чегото, тот вариант, который я использовал и описал выше, он не является текстовым?
Повторяю
Повторяю вопрос - документацию читали?
Там всё написано какие ключи и какие форматы
-----------------------------------------------------------------------------------
"ls /" (C) Козьма Прутков
Подскажите
Подскажите пожалуйста вот с чем:
1. Делаю бэкап моей базы: pg_dump -U postgres -Fc mybase > c:\db.dump
2. Хочу восстановить этот бэкап в новую базу newbase. Создаю новую базу : createdb -U postgres -T template0 newdb
3. Восстанавливаю мой архив в новую базу: g_restore -U postgres -d newdb c:\db.dump
Все проходит нормально, без ошибок, база после этого получается полностью рабочая, без косяков.
Далее я хочу проделать тоже самое сначала:
Удаляю созданную мной новую базу newdb: dropdb -U postgres newdb
Делаю шаг 2 описанный выше.
Когда запускаю шаг 3, то во время восстановления вываливается ошибка:
C:\Program Files\PostgreSQL\8.2.4-6.1C\bin>pg_restore -U postgres -d newdb c:\db
.dump
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 8291; 0 892268 TABLE DATA confi
g postgres
pg_restore: [archiver (db)] COPY failed: ERROR: invalid input syntax for type b
ytea
CONTEXT: COPY config, line 417, column binarydata: "\355ZYo\033\327\025\026\362
f\025\372\003}"\230\227\026\344\230w\233\255\205Qp\021\027q\021%J\\\3646+..."
WARNING: errors ignored on restore: 1
В результате база получается разрушенная. Подскажите где моя ошибка пожалуйста.
Все это происходит на Vista x32
База 1с 8.1
Вам два раза
Вам два раза сказали, попробуйте дампить в текстовом формате.
Попробуйте добавить опции --format=t -bD
Если вам лень чимтать документацию читайте хотябы вывод
pg_dump.exe --help
pg_dumpall.exe --help
pg_restore.exe --help
Эй есть к то
Эй есть к то живой, подскажите пожалуйста.
Попробуйте
Попробуйте делать дамп и восстанавливаться в текстовом виде.
Если будет ошибка, то хотя бы будет дана понятная строка где она случилась и можно будет подумать, что не понравилось PostgreSQL.
Навскидку - что-то у вас там при удалении базы не до конца удаляется.
-----------------------------------------------------------------------------------
"ls /" (C) Козьма Прутков
re:
доброго здравия, уважаемые.
а с Дебиана или иного никса кто-то делал, подобное? ...интересуют скрипты. ...если не жалко конечьно! хотя нацелен на результат, а не на скрипты.
у мну подобие: Debian 6 + postgre 9.0 + 1c 8.2.
задача - создание бэкапа не останавливая работу 1с, т.е. реал тайм. ну и соответственно что б корректно бэкапы создавались. т.е. если ошибка в бэкапе - уведомить админа! тип такого... сейчас этот вопрос на этапе разработки, кагбэ собираю инфу.
упс... не обратил внимания что тема 2008го... ну оставлю... мало ли... )
Тема 2008'го, но недавно
Тема 2008'го, но недавно закончен перевод главы Резервное копирование и восстановление. Скриптов там нет, но особого труда их сделать, прочитав технологию не составляет:
http://postgresql.ru.net/manual/backup.html