Обслуживание базы данных на 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.