Каталог решений - Использование Python скриптов для обслуживания баз PostgreSQL

Использование Python скриптов для обслуживания баз PostgreSQL

Использование Python скриптов для обслуживания баз PostgreSQL

В наличии

Описание скрипта для обслуживания баз PostgreSQL.

Категория:

Описание

Вводные

  • Сервера PostgreSQL с базами 1С на Ubuntu 20.04
    • установленный rclone и настроенное подключение к внешнему хранилищу
  • Желание автоматизировать рутинные операции
    • Резервное копирование через pg_dump
      • перенос на внешнее хранилище и управление границей хранения используя rclone
      • уведомления о выполнении пакета на https://healthchecks.io/
    • Перенос баз с сервера на сервер
      • миграция
      • разворачивание/обновление тестовых баз
  • Чтобы присутствовал логгер
  • Чтобы корректно отрабатывало исключения
  • Рабочий скрипт на bash, который запускается из под postgres на сервере c БД

 

Вариант решения

Написал скрипт на Python 3.8, он идет в стандартной поставке Ubuntu 20.04. Из плюсов написанный код достаточно просто понять и при необходимости поправить.

Использовал только стандартные библиотеки, чтобы можно было скопировать, добавить конфиг и запустить через cron например. Большинство команд это отдельные приложения поэтому запускаю их через subprocess (ссылка). Для переиспользования функции по работе с файлами выделил в отдельные файлы и подключаю в управляющие скрипты. Конфиг в формате JSON потому что он обрабатывается стандартной библиотекой.

С уважением отношусь к OneScript, но на данный момент удобнее писать на python. Обертки работы с сервером 1С пока нет, возможно буду использовать Odin (ссылка). Про то что бекап через pg_dump не самое лучшее решение знаю, до реплик, pg_wal и barman дорасту и напишу.

 

Создание резервной копии

После создания в локальную папку перемещает на внешнее хранилище и делает GET запрос при успешном выполнении пакета.

 

has been added to your cart:
Оформление заказа