настройка постгрес для 1с
REM ПРИМЕР СОЗДАНИЯ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ POSTGRESQL
CLS
ECHO OFF
CHCP 1251
REM Перемещаем в папку old для локального хранения
move D:\BACKUP\mss\*.* D:\BACKUP\mss\old
REM Очищаем папку old от бекапов старше 7 дней
forfiles /p D:\BACKUP\mss\old\ /s /d -7 /c "cmd /c del @path /q"
REM !!!!!БАЗА МСС!!!!
REM Установка переменных окружения
SET PGBIN=C:\Program Files\PostgreSQL\9.6.7-1.1C\bin\
SET PGDATABASE=пишем имя базы(после равно слитно)
SET PGHOST=localhost
SET PGPORT=5432
SET PGUSER=postgres
SET PGPASSWORD=пишем пароль(после равно слитно)
REM Смена диска и переход в папку из которой запущен bat-файл
%~d0
CD %~dp0
REM Формирование имени файла резервной копии и файла-отчета
SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% %TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
SET DUMPFILE=%PGDATABASE% %DATETIME%.backup
SET LOGFILE=%PGDATABASE% %DATETIME%.log
SET DUMPPATH="D:\BACKUP\mss\%DUMPFILE%"
SET LOGPATH="D:\BACKUP\mss\%LOGFILE%"
REM Создание резервной копии
IF NOT EXIST Backup MD Backup
CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH%
REM Анализ кода завершения
IF NOT %ERRORLEVEL%==0 GOTO Error
GOTO Successfull
REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале
:Error
DEL %DUMPPATH%
MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup.log."
ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> backup.log
GOTO End
REM В случае удачного резервного копирования просто делается запись в журнал
:Successfull
ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> backup.log
GOTO End
:End
ping -n 20 localhost>Nul
***************************************************************
Восстанавливаем резервную копию скриптом или с помощью pgAdmin III в базу созданную на шаге 2.
Пример командного файла :
"C:\Program Files\PostgreSQL\9.4.2-1.1C\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "1c_base_copy" --role "postgres" --section pre-data --section data --section post-data --verbose "C:\ 1c_base.backup"
pause
где "1c_base_copy" - имя пустой базы, созданой в шаге 2 средствами PostgreSQL
"c:\1c_base.backup" - имя файла резервной копии
Комментариев нет:
Отправить комментарий