PostgreSQL#
PostgreSQL — это объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом, предназначенная для надежного хранения и обработки структурированных данных. Инструмент предназначен для развертывания локальных и распределенных баз данных (БД), поддерживает стандарты SQL, транзакции ACID и расширяемую архитектуру.
PostgreSQL использует модель «клиент-сервер». В ОС Platform V SberLinux OS Server поставляется в виде нескольких пакетов.
Основные:
postgresql17– основной метапакет, содержащий клиентскую часть и клиентские утилиты;postgresql17-server- пакет, содержащий серверную часть;postgresql17-contrib– пакет, содержащий модули расширений (contrib-модули).
Важно
Не используйте PostgreSQL для обработки и хранения информации ограниченного доступа. Использование допустимо только для работы с информацией, не подлежащей защите согласно требованиям ФСТЭК России.
Основные характеристики#
PostgreSQL предлагает множество современных функций:
сложные запросы;
внешние ключи;
триггеры;
обновляемые представления;
целостность транзакций;
управление многоверсионным параллелизмом.
Также PostgreSQL может быть расширен, например, через добавление новых:
типов данных;
функций;
операторов;
агрегатных функций;
индексных методов;
процедурных языков.
Дополнительно PostgreSQL поддерживает:
физическую и логическую репликацию, включая потоковую;
многоуровневую систему индексов: B-tree, Hash, GiST, SP-GiST, GIN, BRIN;
встроенную систему ролей и грантов для управления доступом;
«горячее» резервное копирование (online backup) и восстановление на точку во времени (Point-in-Time Recovery, PITR);
расширения через contrib-модули (например,
pg_stat_statements,uuid-ossp,hstore).
Установка#
Для установки PostgreSQL через dnf выполните:
dnf install postgresql17 postgresql17-server
Данная команда установит базовый набор пакетов для клиентской и серверной частей PostgreSQL.
Примечание
Другие пакеты PostgreSQL также устанавливаются командой dnf install <package_name>. Полный перечень пакетов можно узнать с помощью команды dnf search postgresql17.
Конфигурация#
Основной каталог данных PostgreSQL по умолчанию – /var/lib/pgsql/data/.
Основные конфигурационные файлы PostgreSQL:
/var/lib/pgsql/data/postgresql.conf— основной файл конфигурации сервера. Содержит параметры памяти, журналирования, сетевых настроек, локали и других аспектов работы СУБД./var/lib/pgsql/data/pg_hba.conf— файл управления методами аутентификации клиентов. Определяет правила доступа по базе данных, пользователю, хосту и методу аутентификации (например,scram-sha-256,trust,peer)./var/lib/pgsql/data/pg_ident.conf— файл сопоставления имен пользователей ОС и ролей PostgreSQL при использовании аутентификацииident.
Примечание
Метод аутентификации ident в PostgreSQL — это способ проверки подлинности пользователя (клиента, подключающегося через локальный сокет или TCP-соединение), при котором PostgreSQL использует системного пользователя (пользователя ОС), от имени которого запущен клиентский процесс, чтобы определить, какую роль PostgreSQL ему разрешено использовать.
Каталог данных и конфигурационные файлы создаются вручную после установки необходимых пакетов с помощью утилиты инициализации postgresql-setup.
Инициализация каталога данных выполняется командой:
postgresql-setup --initdb
Запуск#
Шаги запуска и включения сервера PostgreSQL:
Инициализируйте каталог данных:
postgresql-setup --initdbЗапустите службу:
systemctl start postgresqlПроверьте статус сервера:
systemctl status postgresql
Для подключения от имени системного пользователя postgres введите команду:
sudo -u postgres psql
Примечание
Пользователь postgres создается автоматически при установке PostgreSQL.