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

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

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

В наличии

В этой статье я вам расскажу, как правильно создать и запустить второй кластер 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;

 

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

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

Моя статья про это — //sale.itcity.ru/1c/articles/1495441/

has been added to your cart:
Оформление заказа