Создание второго кластера Postgresql, включение непрерывного архивирования и подключение 1С

08.09.21

База данных - Архивирование (backup)

В этой статье я вам расскажу, как правильно создать и запустить второй кластер postgres`a, а также мы создадим на нем базу с помощью 1С.

Предисловие.

Получил задание на работе: установить линукс, 1с, postgres и подрубить непрерывное архивирование. Дело легкое, но при сдаче мне сказали, что на сервере будет 2 базы. И это была проблема, т.к восстанавливать определенную базу на определенный момент нельзя - весь кластер будет откатываться до необходимой отметки и затрагивать вторую рабочую базу. Сразу в голову приходит мысль о втором кластере, но доходчивой инфы в интернете мало поэтому на освоение этой темы мне понадобилось 3 дня и 3 ночи.

Даю вам все готовое.

Создаем каталоги и выдаем права

mkdir -p /usr/local/pgsql/data2/
chown postgres:postgres /usr/local/pgsql/data2/
chmod 750 /usr/local/pgsql/data2/

Создаем второй кластер 

#Создаение и запуск будут происходить о имени постгреса 

su - postgres

/usr/lib/postgresql/12/bin/pg_ctl initdb -D /usr/local/pgsql/data2/

 



Перед запуском необходимо поменять порт 

#Важно! Конфиг второго кластера лежит в самом кластере, помните этого когда будете делать восстановление

nano /usr/local/pgsql/data2/postgresql.conf
#Убираем со строчки комментарий
port = 5433 
#При желании можно привязать второй кластер к статичному айпи, который вы сделали заранее
listen_addresses = '10.115.1.145'
#Запускаем второй кластер 
/usr/lib/postgresql/12/bin/pg_ctl -w -D /usr/local/pgsql/data2/ start

#Подключение ко втормоу кластеру через psql
postgres@ubuntu:~$ psql -p 5433 

Скрипт для запуска второго кластера при запуске машины. Задержка на запуск скрипта обязательна, можете указать минуту.

mkdir -p /scripts/
nano /scripts/startup_cluster.sh

#!/bin/sh

sleep 200

sudo -i -u postgres /usr/lib/postgresql/12/bin/pg_ctl -w -D /usr/local/pgsql/data2/ start 

chmod +x /scripts/startup_cluster.sh

crontab -e 

@reboot /scripts/startup_cluster.sh

                   Теперь давайте зайдем в 1С и создадим базу на втором кластере 

                        

 

#Подключившись к кластеру через psql мы можем создать нового пользователя и задать ему пароль, выдать права и т.д

Создать пользователя user_test
CREATE USER user_test WITH password 'test';

Создать БД db_test и назначить владельцем пользователя traccar_user
CREATE DATABASE db_test OWNER user_test;

Добавить права на бд db_test пользователю user_test
GRANT ALL privileges ON DATABASE db_test TO user_test;

Добавить супер права на постргресс пользователю
ALTER USER user_test WITH SUPERUSER;

Добавить другие права на роль более современная тема чем юзер
ALTER ROLE user_test WITH CREATEDB REPLICATION;

Есть нужно убрать роли то добавляем NOCREATEDB NOREPLICATION;

 

Про непрерывное архивирование.

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

Моя статья про это - //infostart.ru/1c/articles/1495441/

Вступайте в нашу телеграмм-группу Инфостарт

Администрирование данных Архивирование (backup)

См. также

Архивирование (backup) Учет документов Бухгалтер 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В текущих версиях 1С пока нет функции, позволяющей автоматически отмечать возврат оригиналов документов с помощью сканера штрих-кодов. Многие контрагенты часто сталкиваются с проблемой утери оригиналов УПД или их невозврата. В ответ на эти запросы было разработано расширение, которое упрощает контроль за возвратом оригиналов документов и помогает лучше организовать их хранение.

12000 руб.

19.02.2025    1380    2    0    

1

Архивирование (backup) Инструменты администратора БД 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    76970    633    45    

91

Архивирование (backup) Системный администратор 1С:Предприятие 8 1C:Бухгалтерия Платные (руб)

Программа позволяет выполнять автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

5010 руб.

03.09.2014    17957    31    7    

38

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

Во второй статье по докладу «Дамп – не приговор, а повод задуматься», с которым выступили на конференции INFOSTART TECH EVENT 2024, рассмотрим, какую информацию содержат файлы дампа, чем она полезна и как ее анализировать.

14.04.2025    2964    it-expertise    7    

19

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

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

12.11.2024    2932    Tantor    20    

20

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

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

29.10.2024    8103    Tantor    38    

37

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

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

19.09.2024    12905    Xershi    10    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sloth 401 08.09.21 17:08 Сейчас в теме
Задержка на запуск скрипта обязательна

Это что за шаманство такое? Почему обязательна? Почему вообще понадобился скрипт, а не был использован стандартный механизм через systemd?

crontab -e

@reboot /scripts/startup_cluster.sh

фпедестал, ящитаю!
2. Vismut 54 10.09.21 12:12 Сейчас в теме
(1)Пробовал, не получалось. Попробуйте проделать это сами и отпишите.
3. Sloth 401 10.09.21 12:48 Сейчас в теме
(2)
Попробуйте проделать это сами и отпишите.

В смысле сделать статью на эту тему? У нас на разных проектах в разных вариантах ПГ запускается через systemd и все ок ;)
4. Vismut 54 10.09.21 12:58 Сейчас в теме
(3)Я говорю за второй кластер, лично у меня не получалось.
Покажите распишите как, что буду благодарен
5. XAKEP 01.01.22 17:53 Сейчас в теме
6. stealth.perm.ru 15.08.24 11:12 Сейчас в теме
Ничего не написано про распределение ресурсов.
Каждый кластер настраивается ведь сам по себе, значит ресурсы выделенные под PG нужно делить на количество созданных кластеров? например память.
7. user797081 15.10.24 14:33 Сейчас в теме
(6)
Это просто нужно держать в голове, учитывая что параметры памяти в postgresql.conf всего лишь ориентир для планировщика. Shared_buffers = 25% от памяти, это не значит что PG их займет, если ему припрет то он и память займет и своп полностью и еще киллера вызовет.
А вот параметры которые считаются на каждое соединение temp_buffers, work_mem тут да нужно садится и считать.
Для отправки сообщения требуется регистрация/авторизация