====== Базы данных X-Road: serverconf и op-monitor ======
==== serverconf ====
=== Описание ===
База данных serverconf - хранилище конфигурации Security Server.
**Содержит:**
* Информацию о клиентах и подсистемах
* Настройки сервисов и списки контроля доступа (ACL)
* Сертификаты и ключи аутентификации
* Параметры подключения к Central Server
* Конфигурацию endpoints сервисов
**Характеристики:**
* Небольшой размер базы данных
* Низкая интенсивность операций записи
* Критична для работы Security Server
=== Проверка ===
Подключение к базе:
sudo -u postgres psql -d serverconf
Размер базы:
sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('serverconf'));"
=== Резервное копирование ===
Создание бэкапа:
sudo -u postgres pg_dump serverconf > serverconf_backup_$(date +%Y%m%d).sql
Восстановление:
sudo -u postgres psql serverconf < serverconf_backup_20250209.sql
Всегда создавайте резервные копии serverconf перед изменениями конфигурации!
==== op-monitor ====
=== Описание ===
База данных op-monitor — хранилище операционных метрик и статистики.
**Содержит:**
* Данные о производительности сервисов
* Статистику запросов (время ответа, размер сообщений)
* Информацию об ошибках
* Метрики использования системы
* Данные для мониторинга и отчетности
**Характеристики:**
* Средний размер базы данных
* Средняя интенсивность записи
* Используется для анализа и мониторинга
=== Проверка ===
Подключение к базе:
sudo -u postgres psql -d op-monitor
Размер базы:
sudo -u postgres psql -c "SELECT pg_size_pretty(pg_database_size('op-monitor'));"
Количество записей:
sudo -u postgres psql -d op-monitor -c "SELECT COUNT(*) FROM opmonitor;"
==== Обслуживание баз данных ====
=== Проверка размера всех баз X-Road ===
sudo -u postgres psql -c "SELECT pg_database.datname,
pg_size_pretty(pg_database_size(pg_database.datname)) AS size
FROM pg_database
WHERE datname IN ('serverconf', 'messagelog', 'op-monitor');"
=== VACUUM ===
Для всех баз X-Road:
for db in serverconf messagelog op-monitor; do
sudo -u postgres psql -d $db -c "VACUUM ANALYZE;"
done
Рекомендуется выполнять VACUUM регулярно для оптимальной работы PostgreSQL
----
Автор Даниил Горбенко