Комплект скриптов BAT для обслуживания баз данных на POSTGRESQL

27.10.20

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Комплект скриптов BAT для обслуживания баз данных на POSTGRESQL.:
.zip 0,87Kb
50
50 Скачать (1 SM) Купить за 1 850 руб.

В составе архива входит три скрипта. Разделены они между собой для возможности использования в разное время. 

Порядок использования:

1. Вносим свои настройки в скрипты с использованием тестового редактора:

2. Используем, запуская вручную или добавив в планировщик задач, для этого:

  • Нажмите клавиши Windows + R на клавиатуре
  • В появившемся окне введите taskschd.msc
  • Действия - Создать простую задачу
  • Вводим имя - имя скрипта. Далее
  • Выбираем периодичность Далее
  • Выберите действие задачи - Запустить программу Далее
  • Программа или сценарий - Выбираем скрипт Далее
  • Готово

 

1. pg_backup.bat  - Резервное копирование баз данных

Основные настройки(открываем в любом текстовом редакторе):

SET pg_path=C:\Program Files\PostgreSQL\12.4-1.1C\bin
SET backup_path=\\backup\bkp\1c
SET pg_user=postgres
SET data_bases=db1 db2

Назначение настроек:

pg_path = путь к каталогу bin где установлена ваша версия postgresql

backup_path = путь к каталогу куда будут складироваться резервные копии

pg_user = пользователь postgresql, у которого есть доступ к базам данных.

data_bases = базы данных, перечисленные через пробел

Периодичность выполнение этого скрипта зависит от  критичной продолжительности вводимых данных. Лучше всего это делать 1 раз в день.

 

2. pg_analize.bat  - Обновление статистики

Основные настройки(открываем в любом текстовом редакторе):

SET pg_path=C:\Program Files\PostgreSQL\12.4-1.1C\bin
SET pg_user=postgres
SET data_bases=db1 db2

Назначение настроек:

pg_path = путь к каталогу bin где установлена ваша версия postgresql

pg_user = пользователь postgresql, у которого есть доступ к базам данных.

data_bases = базы данных, перечисленные через пробел

Периодичность выполнение этого скрипта необходимо настраивать на ежедневное использование, перед началом рабочего дня

 

3. pg_service.bat  - Полное обслуживание базы данных

Основные настройки(открываем в любом текстовом редакторе):

SET pg_path=C:\Program Files\PostgreSQL\12.4-1.1C\bin
SET pg_user=postgres
SET data_bases=db1 db2

Назначение настроек:

pg_path = путь к каталогу bin где установлена ваша версия postgresql

pg_user = пользователь postgresql, у которого есть доступ к базам данных.

data_bases = базы данных, перечисленные через пробел

Периодичность выполнение этого скрипта необходимо настраивать на раз в 2-3 дня в нерабочее время.

 

Лучше всего подключать скрипты в планировщике заданий.

См. также

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

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

11.12.2024    1510    Tantor    1    

6

Администрирование СУБД Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

Много вариантов определения номера собственного процесса самого 1С8. В ходе поиска, опираясь на общедоступную информацию, дополнил алгоритм, но с учетом определения ИД запущенного приложения.

09.12.2024    715    artly2000    6    

4

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

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

21.11.2024    3856    a.doroshkevich    8    

16

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

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

12.11.2024    1487    Tantor    20    

18

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

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

29.10.2024    4834    Tantor    38    

37

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

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

08.10.2024    1528    AlexSvoykin    2    

7

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

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

19.09.2024    6319    Xershi    10    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sklskl 8 28.10.20 11:07 Сейчас в теме
Я так понимаю в пункте 1 будет pg_dump, при этом явно были сохранены логины и пароли для доступа к \\backup. Не совсем удачный вариант. В пункте 2 явный analyze, ну в пункте 3 скорее всего vacuum full который в принципе то не нужен, если нормально настроен постгрес и успевает работать autovacuum. Исключение загрузка из dt и огромное количество удаляемых данных.
2. pryaneg2008 112 28.10.20 14:54 Сейчас в теме
Путь к каталогу указан явно без учетных данных из соображения того, что этот путь может быть либо локальная папка без каких-либо особенностей безопасности, либо сетевой каталог, учетные данные от которого сохранены в хранилище сетевых паролей того пользователя под которым в дальнейшем настроено задание планировщика. Все верно. по 3 пункту происходит vacuum full + reindex, операция актуальна для больших и средних баз, а также после загрузки из dt. В маленьких и autovacuum будет успевать.
3. toil 03.11.20 09:55 Сейчас в теме
(2)
3 пункту происходит vacuum full

Надеюсь все представляют, что vaccum full это полная перезапись всех файлов БД (да постгрес хранит все в файах), то есть берется файл - делается его копия и туда тупо переписываются актуальные данные не помеченные к удалению и так последовательно все файлы. Как сказано выше при нормально работающем autovaccum с версии примерно 9.6 - vacuum full раз в 2-3 дня вредный совет. При работе на SSD не серверного класса это еще и убивает диск. Хотите reindex сделайте его отдельно.
4. pryaneg2008 112 03.11.20 16:42 Сейчас в теме
(3) Справедливое замечание. Конечно все зависит от периодичности выполнения этой операции, но я так и поступлю. Добавлю отдельный скрипт с реиндексацией. Спасибо!
5. frkbvfnjh 808 20.07.21 13:58 Сейчас в теме
А для чего делается обновление статистики? Запросы выполняются быстрее?
6. pryaneg2008 112 22.07.21 08:41 Сейчас в теме
(5) Перед каждым запросом формируется план запроса, включающий в себя последовательность действий. Одинаковые запросы в СУБД кэшируются(сохраняются) и накапливаются. Кэш представляет соответствие запроса и плана. Сама статистика представляет из себя таблицу в которой хранятся значения индексов и полей таблиц, которые критичны для оптимизации плана. При очередном формировании запроса, СУБД пытается вытащить план в первую очередь из кэша, но в там он может быть не актуальным(не оптимальным). Поэтому есть такая процедура, как обновление статистики, которая и обновляет этот кэш актуальными планами запроса. Но сильного ускорения базы ждать не стоит, если статистика оптимальная, то после обновления оптимальней она не станет или будут минимальные изменения. При этом процедура обновления статистики выполняется быстро, не блокирует таблицы, не накладывает монопольный режим на БД. То есть достаточно безопасная для того, чтобы выполнять ее во время работы пользователей. Обычно ее заряжают по 2 раза в сутки планировщиком и норм.
7. SerVer1C 868 19.08.21 15:42 Сейчас в теме
Постгрес под вендой - сомнительное удовольствие...
8. CheshirCat696 08.11.21 08:36 Сейчас в теме
Подскажите, как понять, что скрипт выполняется? Пробовал выводить в %LogFile% там ничего.
Оставьте свое сообщение