воскресенье, 28 апреля 2019 г.

Установка PostgreSQL версия 10.5-24.1C 1С 8.3.13.1690 Ubuntu 18.04.2

pg_probackup описание 
В данной статье опишем установку сервера СУБД PostgreSQL версия 10.5-24.1C на ubuntu 18.04.2 на виртуальную машину.
Нам потребуется (все 64 бит):
1. ubuntu 18.04.2
2. 1С берем на сайте 8.3.13.1690 при наличии договора ИТС
3. PostgreSQL версия 10.5-24.1C дистрибутивдополнительные модули при наличии договора ИТС 
4. Драйверы hasp берем etersoft

1. Устанавливаем ubuntu 18.04.2

Настройки ubuntu пользователь (привязка в скриптах) user пароль 12345, имя компьютера test, позже мы его сменим скриптом, как и ip адрес.

После установки, Ctrl +Alt + T (окно терминала)
$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo apt autoremove -y
$ sudo apt install mc ssh samba -y
Прверить синхранизацию NTP synchronized: yes, если нет настроить.
$ timedatectl

Возможно sudo apt upgrade -y не пройдет из за блокировки, тогда sudo reboot и повторите с начала.

$ lsusb

Установка СУБД PostgreSQL версия 10.5-24.1C

После перезагрузки по сети можно подключиться MobaXterm
к нашей виртуальной машине (по ip или или имени )  загрузить файлы установки:
$ mkdir /home/user/test
В папку /test положить файл:
postgresql_10.5_24.1C_amd64_deb.tar.bz2

Файл postgresql_10.5_24.1C_amd64_addon_deb.tar.bz2 не устанавливаем - проблемы с зависимостями

$ wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb
$ sudo sudo dpkg -i libicu55_55.1-7_amd64.deb
# libicu55 помечен как зафиксированный.
$ dpkg -l | grep libicu55 | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
$ sudo apt-get install postgresql-common  -y
$ dpkg -l | grep postgres | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
#postgresql-client-common помечен как зафиксированный.
#postgresql-common помечен как зафиксированный.
$ mkdir -p /tmp/post$ cp /home/user/test/postgresql_10.5_24.1C_amd64_deb.tar.bz2 /tmp/post/
$ cd /tmp/post
$ tar -xvf postgresql_10.5_24.1C_amd64_deb.tar.bz2
$ cd  postgresql-10.5-24.1C_amd64_deb
#(libpq5_10.5-11.1C_amd64.deb  postgresql-10_10.5-11.1C_amd64.deb  postgresql-client-10_10.5-11.1C_amd64.deb)
$ sudo dpkg -i *.deb
$ dpkg -l | grep 10.5-24.1C | awk -F' ' '{print $2}' | sudo xargs apt-mark hold
#libpq5 помечен как зафиксированный.
#postgresql-10 помечен как зафиксированный.
#postgresql-client-10 помечен как зафиксированный.

$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 online postgres /var/lib/postgresql/10/main pg_log/postgresql-%a.log

$ sudo pg_dropcluster --stop 10 main
$ sudo pg_createcluster --locale ru_RU.UTF-8 10 main --  --data-checksums


$ sudo pg_ctlcluster 10 main start

$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 online postgres /var/lib/postgresql/10/main pg_log/postgresql-%a.log


$ sudo -u postgres psql -U postgres -c "alter user postgres with password 'pass';"
$ sudo cp /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.bak

#Делаем проверки
$ sudo systemctl status postgresql.service
$ pg_lsclusters
Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 online postgres /var/lib/postgresql/10/main pg_log/postgresql-%a.log
$ ss -tunpl | grep 5432
tcp    LISTEN     0      128       *:5432                  *:*
tcp    LISTEN     0      128      :::5432                 :::*
$ ps aux | grep postgres | grep -- -D
postgres  4914  0.0  0.1 320972 28864 ?        S    08:37   0:00 /usr/lib/postgresql/10/bin/postgres -D /var/lib/postgresql/10/main -c config_file=/etc/postgresql/10/main/postgresql.conf
-------------------------------------------------------------------------------------------------------

Установка pg_probackup 

pg_probackup описание
$ sudo su -c "echo 'deb [arch=amd64] http://repo.postgrespro.ru/pg_probackup/deb/ $(lsb_release -cs) main-$(lsb_release -cs)' > /etc/apt/sources.list.d/pg_probackup.list" 
$ sudo su -c "wget -O - http://repo.postgrespro.ru/pg_probackup/keys/GPG-KEY-PG_PROBACKUP | apt-key add -" 
$ sudo apt-get update 
$ sudo apt-get install pg-probackup-10

Инициализация каталога резервных копий 
$ sudo mkdir /backup 
$ sudo pg_probackup-10 init -B /backup 
$ sudo chown -R postgres:postgres /backup
Определение копируемого экземпляра 
$ sudo /bin/su postgres -c "pg_probackup-10 add-instance -B /backup -D /var/lib/postgresql/10/main --instance main"

$ sudo nano /etc/postgresql/10/main/postgresql.conf

Добавить:

max_wal_senders = 10
wal_level = replica
unix_socket_directories='/var/run/postgresql'
# Для настройки архивного резервного копирования разкомментировать:
archive_mode = on
archive_command = 'pg_probackup-10 archive-push -B /backup --compress --instance main --wal-file-path %p --wal-file-name %f'

Сохранить.

$ sudo systemctl stop postgresql.service
$ sudo systemctl start postgresql.service

Создание полной автономной резервной копии: 

$ sudo /bin/su postgres -c "pg_probackup-10 backup -B /backup --instance main -b FULL --stream --compress --delete-wal --expired"




Просмотр:
$ sudo /bin/su postgres -c "pg_probackup-10 show -B /backup"

Проверка backup:
$ sudo /bin/su postgres -c "pg_probackup-10 validate -B /backup"

Настройка политики сохранения резервных копий

sudo nano /backup/backups/main/pg_probackup.conf

Добавить:

retention-redundancy=1

Сохранить

Можно сделать еще один экземпляр для автономных копий:
Идея в одном экземпляре с retention-redundancy=5 организуем непрерывное wal архивирование, в другом экземпляре с retention-redundancy=30 организуем собрание автономных копий за месяц, хранилища могут быть на разных дисках.






Комментариев нет:

Отправить комментарий