Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux

Для чего необходимо настраивать непрерывное архивирование базы данных?
Для того, чтобы:
- иметь возможность восстанавливать копию базы данных на произвольный момент времени.
- в случае сбоя не терять драгоценные часы данных.
1. Знакомимся с каталогами хранения данных и бэкапов.
2. Настраиваем очистку устаревших файлов бэкапов.
3. Устанавливаем параметры непрерывного архивирования PostgresPro 11.
4. Включаем непрерывное архивирование.
Описание дается для ОС CentOS 7.8.Описание дается для ОС CentOS 7.8.
Знакомимся с каталогами хранения данных и бэкапов.
Каталоги кластера СУБД PostgresPro:
/pgpro/db/ — каталог кластера;
/pgpro/db/pg_wal/ — каталог wal-логов кластера;
Каталоги бэкапов кластера СУБД PostgresPro:
/pgpro/backup/day/ — каталог полного бэкапа кластера;
/pg_log_arch/day/ — каталог дневного бэкапа wal-логов;
/pg_log_arch/archive/ — каталог архивов бэкапов wal-логов.
Данные каталоги предварительно создаем и монтируем.
Настраиваем очистку устаревших файлов бэкапов PostgresPro 11.
Для настройки понадобится два скрипта:
-
backup_prod.sh
-
backup_wal_archive.sh.
Скрипт удаления старого и формирования нового полного бэкапа кластера backup_prod.sh следующего содержания:
1 2 3 |
rm –f /pgpro/backup/day/* /opt/pgpro/ent-11/bin/pg_basebackup –D /pgpro/backup/day –z -Ft |
Удаляет предыдущий полный бэкап.
Создает новый полный бэкап.
Скрипт архивирования удаления старых логов backup_wal_archive.sh следующего содержания:
1 2 3 4 5 6 7 8 9 10 11 |
last_file="/pg_log_arch/archive/archive-2.tar.gz" current_file="/pg_log_arch/archive/archive-1.tar.gz" log_file="/var/log/wal_archive/pg_log_archive.log" test –f $last_file && rm $last_file && echo "$(data): delte last file $last_file" >> $log_file test –f $current_file && mv $current_file $last_file && echo "$(data): move $current_file to $last_file" >> $log_file tar –czvf $current_file /pg_log_arch/day/* --remove-files && echo "$(data): current archive created" >> $log_file |
Удаляет самый крайний по времени архив wal-логов.
Перемещает предыдущий архив wal-логов на место удаленного самого крайнего по времени архива wal-логов.
Архивирует актуальный wal-логи.
где
last_file=”/pg_log_arch/archive/archive-2.tar.gz” – архив крайнего по времени файла wal-логов.
current_file=”/pg_log_arch/archive/archive-1.tar.gz” – архив актуальных wal-логов.
log_file=”/var/log/wal_archive/pg_log_archive.log” – путь к логам данного скрипта.
Итак,
1. Разместим скрипты backup_prod.sh и backup_wal_archive.sh в каталоге.
1 |
/pgpro/scripts. |
2. Авторизуемся под суперпользователем.
1 |
sudo su root |
3. Добавим права на исполнение скриптов.
1 2 3 |
chmod +x /pgpro/scripts/backup_prod.sh chmod +x /pgpro/scripts/backup_wal_archive.sh |
4. Настроим выполнение скриптов в cron.
1 |
crontab -e |
Следующим образом:
1 2 3 |
0 2 * * * /pgpro/scripts/backup_prod.sh 0 3 * * * /pgpro/scripts/backup_wal_archive.sh. |
5. Проверим настройку в cron.
1 |
crontab -l |
Устанавливаем параметры непрерывного архивирования PostgresPro 11.
1. Авторизуемся под postgres
1 |
sudo su - postgres |
2. Подключимся к psql
1 |
psql |
3. Выполним установку параметров.
1 2 3 |
ALTER SYSTEM SET archive_mode = 'on'; ALTER SYSTEM SET archive_command = 'test ! –f /pg_log_arch/day/%f && cp %p /pg_log_arch/day/%f' |
Включает архивирование.
Устанавливает команду архивирования:
Проверяет, если нет файла в каталоге wal-логов, тогда копирует в этот каталог wal-логи.
4. Выходим из psql
Включаем непрерывное архивирование PostgresPro 11.
1. Авторизуемся под postgres
1 |
sudo su - postgres |
2. Остановим кластер СУБД
1 |
pg_ctl stop |
3. Проверим
1 |
cat /pgpro/db/postgresql.auto.conf |
4. Запускаем кластер СУБД
1 |
pg_ctl start |
Еще можно посмотреть
НАСТРОЙКА PG_PROFILER ДЛЯ POSTGRESQL 11.
Помимо анализа планов и запросов СУБД в технологическом журнале 1С, также бывает полезным анализировать статистику по запросам в pg_profiler. Тем более, что она уже собирается в сгруппированном по запросам виде. Ниже приведем инструкцию по его настройке. 1. Инсталляция и настройка pg_profile. 2. Настройка отображения pg_profiler через веб-сервер apache. Инсталляция и настройка pg_profile. 1. Скачаем pg_profile […]
Основы работы в Linux
Основы работы в Linux. Как подключиться к серверу. Как скопировать файлы на сервер. Редактирование конфигурационных файлов.
Установка и настройка хранилища конфигураций 1C на Linux сервере
Хранилище конфигурации 1С:Предприятия 8.3 является инструментом групповой разработки. Настраиваем сервер хранилища на Linux.
Очистка кэша: серверного и клиентского для 1С:Предприятия
Лечим непонятные ошибки 1С Предприятия чисткой так называемого кеша - служебных файлов с настройками 1С
Ошибки на клиенте при работе с сервером 1С на Linux. Часть 2
Разбор наиболее часто встречающихся ошибок при работе с 1С на Linux.
Публикация 1С на Веб сервере Apache Linux
Пошаговые инструкции по публикация базы и web-сервисов 1С на веб-сервере Apache 2.4 на Linux.
Основные команды Linux
Список основных команд консоли Linux которые потребуются при установке и настройке 1С. Примеры использования с комментариями.
Похожие записи
- Подключение репозитория под ОС Linux
- ОШИБКА 1С:ПРЕДПРИЯТИЯ «ПОТЕРЯНО СОЕДИНЕНИЕ»
- ЧТО ТАКОЕ TTIMEOUT 1С:ПРЕДПРИЯТИЯ И КАК ЕГО НАЙТИ?
- ЧТО ТАКОЕ PG_TEMP В POSTGRESQL ДЛЯ 1С И КТО ИХ СОЗДАЕТ?
- НАСТРОЙКА PG_PROFILER ДЛЯ POSTGRESQL 11.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Пропажа индексов дескрипторов в 1С:Документообороте
- Технологический журнал 1С и бесконечный цикл в коде 1С
- 1C тормозит и возникают ошибки. С чего начать расследование?