Архивирование данных в базе PostgreSQL

From Центр документации - ТМИУС КП


Установка в Debian (Ubuntu...)

sudo apt install postgresql postgresql-contrib

Настройка базы данных

Создание БД на сервере БД.

  • Выполнить вход в сессию служебного пользователя postgres:
sudo su - postgres
  • Добавить пользователя СУБД tms:
createuser tms
  • Установить пароль пользователя tms:
psql -c "alter user tms with password '<указать_пароль>'"

Примеры

psql -c "alter user tms with password 'dtsheui22385bfhry'"
psql -c "alter user tms with password 'jdu743bc93hbc92wr'"
psql -c "alter user tms with password 'root'"
  • Создать базу данных dbts01, указав в качестве её владельца пользователя tms:
createdb dbts01 -O tms
  • Создать базу данных dbti01, указав в качестве её владельца пользователя tms:
createdb dbti01 -O tms
  • Завершить работу в сессии служебного пользователя postgres:
exit
  • выполнить скрипт pgdbts.sql:
psql -h localhost -p 5432 -U tms -d dbts01 -f ./pgdbts.sql
  • ввести пароль пользователя tms
  • выполнить скрипт pgdbti.sql:
psql -h localhost -p 5432 -U tms -d dbti01 -f ./pgdbti.sql
  • ввести пароль пользователя tms

Если ошибка:

psql: СБОЙ:  error obtaining MAC configuration for user "tms"

, то в файле (https://forum.astralinux.ru/threads/1283/) /etc/parsec/mswitch.conf, параметр zero_if_notfound установить в yes.

Настройка ODBC на сервере, на котором работает ПО ТМИУС

Установка ODBC

sudo apt install unixodbc odbc-postgresq

Если репозиторий был не настроен, то для Astra 1.6, например, потребуются пакеты, которые можно скачать самостоятельно

  • libodbc1_2.3.4-1_amd64.deb
  • odbcinst1debian2_2.3.4-1_amd64.deb
  • odbc-postgresql_09.05.0400-2_amd64.deb
  • libpq5_9.6.6-1astra.se2_amd64.deb
  • odbcinst_2.3.4-1_amd64.deb
  • unixodbc_2.3.4-1_amd64.deb

Установка

 cd ./odbc
 sudo dpkg -i *

Добавить DSN в /etc/odbc.ini

(ip в Servername установить ip сервера БД)

[dbts]
Description=dbts
Driver=PostgreSQL ANSI
Servername=127.0.0.1
Port=5432
Username=tms
Password=пароль
Database=dbts01
ConnSettings=SET CLIENT_ENCODING TO 'UTF8'

[dbti]
Description=dbti
Driver=PostgreSQL ANSI
Servername=127.0.0.1
Port=5432
Username=tms
Password=пароль
Database=dbti01
ConnSettings=SET CLIENT_ENCODING TO 'UTF8'

и отключить для /etc/odbc.ini право "чтение для других"

оставить "чтение и запись для владельца" и "чтение для группы" (640).

Настройка ПО ТМИУС

Открыть параметры: МенюПараметры:

Архив событий:

Тип базы данных: ODBC

ODBC параметры:

DSN=dbts
Глубина хранения: 366

Архив измерений:

Тип базы данных: ODBC ODBC параметры:

DSN=dbti

Глубина хранения: 92

Возможна настройка ODBC без DSN:

ODBC параметры:

Database=dbts01
Driver=PostgreSQL ANSI
Servername=ip-сервера
Port=5432
UserName=tms
Password=пароль
ConnSettings=SET CLIENT_ENCODING TO 'UTF8'

Удаление баз данных

sudo apt-get --purge remove postgresql postgresql-*

Файлы для скачивания

Ссылки для скачивания
Описание Файл
База данных дискретных сигналов pgdbts.sql
База данных измерений pgdbti.sql