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

27.05.20

База данных - Администрирование СУБД

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обслуживание БД PostgreSQL:
.dt 188,99Kb ver:1.0
29
29 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

2. Нет лога.

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

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

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

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

обслуживание backup postgre резервное копирование

См. также

Администрирование СУБД Системный администратор Программист

В крупных компаниях, где много типовых и сильно доработанных баз с режимом работы 24/7, переход с MS SQL на PostgreSQL затягивается. Получается гетерогенная структура – когда прод уже на PostgreSQL, а разработка и тестирование – пока на MS SQL. О том, какие варианты помогут постепенно перевести прод с несколькими базами MS SQL на PostgreSQL, не сломав среду тестирования и разработки, пойдет речь в статье.

21.11.2024    2363    a.doroshkevich    6    

14

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Пользовался ранее https://infostart.ru/1c/articles/1120161/#, но она устарела, т.к. службы запускаются через systemctl, да и сами службы слегка изменились. Возможно, где-то на ИТС уже есть нужная инструкция, но мне не попалась.

15.11.2024    325    Baser    2    

1

HighLoad оптимизация Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)

Мы исследуем проблему долгого выполнения запросов PostgreSQL при использовании конструкции VALUES: когда она возникает, как на нее можно повлиять, а главное, почему ее продуманная отработка важна для более быстрого функционирования решений на базе 1С

12.11.2024    846    Tantor    19    

14

HighLoad оптимизация Администрирование СУБД Механизмы платформы 1С Программист Платформа 1С v8.3 ИТ-компания Россия Бесплатно (free)

В данной статье мы рассмотрим, как работает механизм временных таблиц на postgres на платформе 8.3.23 и что изменилось в нем при добавлении новых возможностей в платформе 8.3.25. А также на примере покажу, как понимание работы платформы позволяет оптимизировать СУБД для работы с 1С.

29.10.2024    3202    Tantor    38    

34

Администрирование СУБД Системный администратор Программист Бесплатно (free)

CDC - очень мощный механизм, который можно использовать во многих сценариях, возможность развернуть его в Docker показывает простоту и лёгкость данной технологии.

08.10.2024    756    AlexSvoykin    1    

7

Администрирование СУБД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ и решение ошибок СУБД. Во время реиндексации базы Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось найти объект "ИмяБазы.dbo._RefSInf21806", так как он не существует, или отсутствуют разрешения. Во время проверки целостности Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Недопустимое имя объекта "dbo._RefSInf21806".

19.09.2024    4383    Xershi    10    

17

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    2986    1CUnlimited    9    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Бэнни 209 02.06.20 09:13 Сейчас в теме
Бекап делаете с помощью pg_dump?
2. andrewbc 332 02.06.20 12:38 Сейчас в теме
3. Бэнни 209 02.06.20 17:23 Сейчас в теме
(2) для создания корректного бекапа, через вашу конфигурацию, получается, нужна остановка сервера 1С?
4. tolik_unix 02.06.20 17:34 Сейчас в теме
(3) Через pg_dump останавливать сервер 1С не нужно!! Но после восстановления базы из дампа, нужно сделать vacuum full (только на восстановленной базе), т.к.в дампе не хранятся индексы.
7. D_astana 110 03.06.20 07:00 Сейчас в теме
(4) Ну и признак анализа тоже добавить надо, ибо если автоанализ настроен неправильно, база без актуальной статистики будет после восстановления.

А вообще для кого это? Для бухгалтеров? Установить pg_probackup для ванильной версии делов на 15 мин. Зато получаем возможность восстановления вплоть посекундно, архивирование wal, автоочистку старых копий, авточистку архивных wal, проверку роботоспособности сделанной копии и все бесплатно.

Скрипт вакуума и реиндексации по 1 строчке.
8. Бэнни 209 03.06.20 22:49 Сейчас в теме
(4)
А что станет с открытыми транзакциями в момент pg_dump? Информации о них не станет, и можем получить замечательные ошибки после развертывания, разве нет?
9. ansh15 04.06.20 09:44 Сейчас в теме
(8) В документации пишут, что
Дампы, создаваемые pg_dump, являются внутренне согласованными, то есть, дамп представляет собой снимок базы данных на момент начала запуска pg_dump

Наверное, позаботились о том, чтобы незавершенные транзакции не попадали в этот снимок базы..
5. andrewbc 332 02.06.20 18:33 Сейчас в теме
(3) Сервер 1С останавливать не нужно, даже не нужно срубать сеансы и соединения
(4) Спасибо за информацию, потестирую. Но я делал просто restore - и база нормально работала.
6. tolik_unix 02.06.20 21:18 Сейчас в теме
(5) База работает, но при значимых нагрузках чувствуются тормоза. При этом, если дамп распаковать в предыдущую тестовую базу, то база вообще может не открываться пока не будет выполнен vacuum full.

Ещё одна особенность - pg_dump не гарантирует, что база будет восстановлена из дампа. Поэтому правильно по окончанию создания дампа запустить восстановление из дампа - если восстановится, то дамп можно считать успешным.

vacuum - это не сжатие. Да, vacuum может приводить к уменьшению размера базы, но это совершенно иная операция.
10. nastasya17 07.04.22 11:31 Сейчас в теме
Добрый день. Данное расширение работает на Linux?
11. alfanika 485 20.04.22 10:01 Сейчас в теме
Очень актуально такое же решение под Linux.
Оставьте свое сообщение