Для резервного копирования БД необходимо в c:\PostgreSQL создать bat-файл со следующим содержимым:
REM СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ POSTGRESQL CLS ECHO OFF CHCP 1251 REM Установка переменных окружения SET PGBIN=c:\PostgreSQL\bin SET PGDATABASE=fss SET PGHOST=localhost SET PGPORT=5433 SET PGUSER=postgres SET PGPASSWORD=Manager1 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%.backup SET LOGFILE=%PGDATABASE%.log SET DUMPPATH="C:\backup_db_fss\%DUMPFILE%" SET LOGPATH="C:\backup_db_fss\%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
в строках:
SET DUMPPATH="C:\backup_db_fss\%DUMPFILE%" SET LOGPATH="C:\backup_db_fss\%LOGFILE%"
необходимо выставить свой путь для сохранения бэкапа БД и логов (переменные %DUMPFILE% и %LOGFILE% не трогать)
В строке:
SET PGBIN=c:\PostgreSQL\bin
необходимо указать путь к папке bin вашей СУБД Postgresql
После этого необходимо добавить данный bat-файл в планировщик заданий для выполнения задачи резервного копирования по расписанию.
Всем, кому понравился или помог этот проект - Вы можете помочь ему развиваться материально: