tools.win_pg_dump_controller

Yohn Y. 2022-01-30 Child:7c93b0305522

0:be791d354d2a Go to Latest

tools.win_pg_dump_controller/README.md

..init

History
awgur@0 1 Мотивация
awgur@0 2 =========
awgur@0 3
awgur@0 4 Есть прекрасная платформа `windows`. И есть в ней сервисы разные, но нет консоли нормальной. Либо `cmd`,
awgur@0 5 либо `powershell` и крутись как хочешь?
awgur@0 6
awgur@0 7 Для того чтобы не крутиться хотя бы в вопросах рещервных копий `PostgreSQL` создан этот модуль.
awgur@0 8
awgur@0 9 Почему не другие решения? Поскольку хорошее решение требует нормальной инфраструктуры, а не `PostgreSQL` на `Windows`.
awgur@0 10 В нормальной инфраструктуре это всё делается проще и скрипты уже есть. Но здесь `windows`
awgur@0 11
awgur@0 12 Кроме того, имея эту основу можно попытаться сделать нечто более сложное.
awgur@0 13
awgur@0 14
awgur@0 15 Как пользоваться?
awgur@0 16 =================
awgur@0 17
awgur@0 18 Запуск модуля через `c:\python38\python.exe -m win_pg_dump_controller c:\etc\pg_backup.config`.
awgur@0 19 `c:\etc\pg_backup.config` файл в формате `INI`. Пример файла в `examples`
awgur@0 20
awgur@0 21
awgur@0 22 Описание Конфигурационного файла
awgur@0 23 --------------------------------
awgur@0 24
awgur@0 25 ### Секции
awgur@0 26
awgur@0 27 * `main` - основная конфигурация скрипта
awgur@0 28 * `common` - общие параметры заданий
awgur@0 29 * `${Имя задания}` - параметры задания. `${Имя задания}` задаётся пользователем, чтобы ему было понятно.
awgur@0 30 Оно фигурирует в журналах, используется в файлах резерных копий. Поэтому есть смысл избегать в нём русских букв
awgur@0 31 и специальных символов
awgur@0 32
awgur@0 33
awgur@0 34 ### Параметры в `main`
awgur@0 35
awgur@0 36 * `pg_bin_path` - расположение директории `bin` нужной инстраляции `PostgreSQL`.
awgur@0 37 Можно поискать файл `pg_dump.exe` и внести сюда ту директорию, в которой он лежит
awgur@0 38 * `pg_dump_flags` - если не хватает флагов `pg_dump`, недостающие можно перечислить здесь.
awgur@0 39 * `log_dir` - каталог, куда будут писаться логи всего что происходит. Если не задан, логи писаться не будут.
awgur@0 40 * `teir1_days` - период самых последних резервных копий. Количество дней, за которые они вообще чиститься не будут.
awgur@0 41 По умолчанию 7 дней.
awgur@0 42 * `teir2_copies_interval` - архивный период резервных копий, количество дней между сохранёнными копиями. То есть
awgur@0 43 за этот период будет храниться только одна, самая старая копия. По умолчанию 7 дней
awgur@0 44 * `tier2_store_days` - за этим количеством дней копии чистятся. По умолчанию 30 дней
awgur@0 45 * `keep_logs_days` - количество дней за который хранить журналы.
awgur@0 46
awgur@0 47
awgur@0 48 ### Параметры `common` и раздела задач
awgur@0 49
awgur@0 50 * `host_name` - имя или IP узла баз данных. По умолчанию `127.0.0.1`
awgur@0 51 * `db_name` - имя базы данных
awgur@0 52 * `user_name` - имя пользователя для подключения к серверу
awgur@0 53 * `passwd` - пароль пользователя
awgur@0 54 * `port` - порт сервера баз данных
awgur@0 55 * `dst_dir` - каталог, к котором будут хранится резервные копии задания.