Обслуживание базы данных на PostgreSQL - Такси №1

Обслуживание базы данных на PostgreSQL

Предысторией создания данного продукта был перевод одного из своих клиентов на PostgreSQL. Серверная платформа не позволяла установить там pgAdmin. А скриптами и планировщиками пользоваться неудобно. Поэтому пришла идея реализовать обслуживание postgresql средствами 1С.

Решение выполнено в виде отдельной конфигурации. При желании можно внедрить ее в другую конфигурацию, т.к. все объединено в пределах одной подсистемы.

Смысл разработки заключается в следующем.

Создается новая база на сервере. В нее загружается прилагаемая выгрузка и в итоге получается база, способная обслуживать базы данных, имеющиеся в PostgreSQL.

Доступны 4 операции: сохранение (backup), сжатие (vacuum), реиндексация (reindex) и восстановление (restore).

Они могут выполняться как вручную из интерфейса, так и регламентными заданиями.

Для каждой операции и каждой базы создается отдельное регламентное задание.

Т.е., например, настраиваем сохранение какой-то базы регламентным заданием с заданным расписанием и это задание будет автоматом копировать базу в указанное место без участия администратора.

Копии создаются в сжатом режиме, имена файлов копий содержат дату и время создания для сохранения истории. Старые копии могут автоматически удаляться.

Создавалось все в авральном режиме, поэтому сразу могу выделить несколько недостатков:

1. Кургузая справка, но администраторы, думаю, разберутся.

2. Нет лога.

3. Нет контроля завершения выполнения операции, т.е. ручной пуск или регламентное задание только запускают выполнение на сервере PostgreSQL и не знают, когда оно закончится. Этот контроль лежит на администраторе.

Буду рад услышать пожелания и сообщения о багах.

Доработки планируются при достаточной востребованности.

Разработка и отладка велась на платформе 1С 8.3.13.1644, под Windows 10 и Windows Server 2008 R2.