Red OS установка PostgreSQL: настройка и конфигурация сервера БД | AdminWiki

Установка PostgreSQL на Red OS: подробное пошаговое руководство

18 декабря 2025 7 мин. чтения #Red OS #linux #postgresql #СУБД #администрирование #база данных #установка

Если ты читаешь эту статью, значит тебе нужно развернуть PostgreSQL на отечественной операционной системе Red OS. Отличный выбор! PostgreSQL — одна из самых надежных и функциональных систем управления базами данных, а Red OS — стабильная и безопасная платформа для корпоративного использования.

Давай разберем весь процесс от установки пакетов до настройки работающего сервера. Представь, что это твой первый проект на новой ОС — я буду твоим ментором и помогу избежать всех типичных ошибок.

Подготовка системы Red OS к установке PostgreSQL

Перед тем как начать установку PostgreSQL на Red OS, нужно убедиться, что система обновлена и у нас есть доступ к необходимым репозиториям.

Red OS основана на RHEL, поэтому большинство команд и пакетов будут знакомы тем, кто работал с CentOS или Rocky Linux.

Обновление системы и установка зависимостей

Начнем с базовой подготовки:

bash
# Обновляем систему
sudo dnf update -y

# Устанавливаем необходимые утилиты
sudo dnf install -y wget curl nano vim

# Проверяем версию ОС
cat /etc/os-release

Добавление репозитория PostgreSQL для Red OS

В стандартных репозиториях Red OS может не быть последней версии PostgreSQL. Давай добавим официальный репозиторий:

bash
# Устанавливаем репозиторий PostgreSQL 16 (можно выбрать другую версию)
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Отключаем стандартный модуль PostgreSQL, если он есть
sudo dnf -qy module disable postgresql

# Обновляем кэш пакетов
sudo dnf makecache
Внимание! Если у тебя Red OS 7, используй ссылку для EL-7. Для Red OS 9 — EL-9. Проверь версию командой `cat /etc/os-release`.

Установка PostgreSQL на Red OS

Теперь перейдем к основной части — установке сервера PostgreSQL и клиентских утилит.

Установка пакетов PostgreSQL

bash
# Просмотр доступных версий PostgreSQL
sudo dnf list postgresql* --available

# Установка PostgreSQL 16 сервера и клиента
sudo dnf install -y postgresql16-server postgresql16-contrib

# Установка дополнительных утилит (рекомендуется)
sudo dnf install -y postgresql16-devel pgadmin4

Инициализация базы данных

После установки необходимо инициализировать кластер баз данных:

bash
# Инициализация БД (для Red OS 8/9)
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

# Альтернативный способ
sudo postgresql-16-setup initdb

Настройка PostgreSQL на Red OS

Теперь настроим PostgreSQL для безопасной и эффективной работы.

Базовая конфигурация сервера

Отредактируем основные конфигурационные файлы:

bash
# Редактируем главный конфигурационный файл
sudo nano /var/lib/pgsql/16/data/postgresql.conf

Найди и измени следующие параметры (или раскомментируй, если они закомментированы):

config
# Слушаем все интерфейсы (для удаленного доступа)
listen_addresses = '*'

# Порт PostgreSQL
port = 5432

# Настройки памяти (зависит от RAM сервера)
shared_buffers = 128MB
work_mem = 4MB
maintenance_work_mem = 64MB

# Логирование
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

Настройка аутентификации

Настроим доступ к серверу через файл pg_hba.conf:

bash
sudo nano /var/lib/pgsql/16/data/pg_hba.conf

Добавь или измени строки в конце файла для разрешения доступа:

config
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# Локальные подключения
local   all             all                                     peer

# IPv4 локальные подключения:
host    all             all             127.0.0.1/32            scram-sha-256

# IPv4 удаленные подключения (настрой под свои нужды)
host    all             all             192.168.1.0/24          scram-sha-256

# Для репликации
host    replication     all             192.168.1.0/24          scram-sha-256
Метод `scram-sha-256` безопаснее устаревшего `md5`. `peer` используется для локальных подключений через сокет.

Запуск и управление службой PostgreSQL

Запуск сервера PostgreSQL

bash
# Запуск службы
sudo systemctl start postgresql-16

# Включение автозагрузки при старте системы
sudo systemctl enable postgresql-16

# Проверка статуса
sudo systemctl status postgresql-16

# Перезагрузка службы (после изменения конфигов)
sudo systemctl restart postgresql-16

Проверка работы PostgreSQL

bash
# Проверяем, слушает ли порт 5432
sudo ss -tulpn | grep 5432

# Подключаемся к PostgreSQL
sudo -u postgres psql

# Внутри psql проверяем версию
SELECT version();

# Выход из psql
\q

Создание пользователей и баз данных

Теперь создадим первого пользователя и тестовую базу данных:

bash
# Переключаемся на пользователя postgres
sudo -i -u postgres

# Запускаем psql
psql

# Создаем нового пользователя
CREATE USER myuser WITH PASSWORD 'StrongPassword123!';

# Создаем базу данных
CREATE DATABASE mydatabase OWNER myuser;

# Даем все права пользователю на базу данных
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;

# Выходим
\q
exit

Настройка брандмауэра Red OS

Если у тебя включен firewalld, нужно открыть порт для PostgreSQL:

bash
# Добавляем правило для PostgreSQL
sudo firewall-cmd --permanent --add-service=postgresql

# Или открываем порт вручную
sudo firewall-cmd --permanent --add-port=5432/tcp

# Перезагружаем брандмауэр
sudo firewall-cmd --reload

# Проверяем открытые порты
sudo firewall-cmd --list-all

Оптимизация производительности PostgreSQL

Для production-среды рекомендую следующие настройки (адаптируй под свои ресурсы):

Параметр Рекомендуемое значение для 4GB RAM Рекомендуемое значение для 16GB RAM Описание
shared_buffers 1GB 4GB Память для кэширования данных
work_mem 8MB 16MB Память для операций сортировки
maintenance_work_mem 256MB 1GB Память для операций обслуживания
max_connections 100 200 Максимальное количество подключений

Резервное копирование и восстановление

Настроим автоматическое резервное копирование:

bash
# Создаем директорию для бэкапов
sudo mkdir -p /var/backups/postgresql
sudo chown postgres:postgres /var/backups/postgresql

# Делаем дамп базы данных
sudo -u postgres pg_dump mydatabase > /var/backups/postgresql/mydatabase_$(date +%Y%m%d).sql

# Создаем сжатый дамп
sudo -u postgres pg_dump mydatabase | gzip > /var/backups/postgresql/mydatabase_$(date +%Y%m%d).sql.gz

Часто задаваемые вопросы (FAQ)

Как проверить, что PostgreSQL установлен корректно?

Выполни команду `sudo -u postgres psql -c "SELECT version();"`. Если увидишь версию PostgreSQL — установка прошла успешно.

Почему не получается подключиться удаленно к PostgreSQL на Red OS?

Проверь три вещи: 1) `listen_addresses = '*'` в postgresql.conf, 2) Правила в pg_hba.conf для твоего IP, 3) Открыт ли порт 5432 в брандмауэре.

Как изменить пароль пользователя postgres?

Выполни: `sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'новый_пароль';"`

Где находятся логи PostgreSQL на Red OS?

Основные логи находятся в `/var/lib/pgsql/16/data/log/`. Также проверь `/var/log/messages` и `journalctl -u postgresql-16`.

Как обновить PostgreSQL до новой версии на Red OS?

Рекомендуется: 1) Сделать полный бэкап, 2) Установить новую версию из репозитория, 3) Использовать `pg_upgrade` для миграции данных.

Заключение

Поздравляю! Ты успешно установил и настроил PostgreSQL на Red OS. Теперь у тебя есть полноценный сервер базы данных, готовый к работе.

Основные моменты, которые мы прошли:

  • Подготовка системы и добавление репозиториев
  • Установка PostgreSQL 16 (или другой версии)
  • Инициализация и базовая настройка кластера БД
  • Настройка аутентификации и безопасности
  • Создание пользователей и баз данных
  • Настройка брандмауэра и оптимизация

Для дальнейшего изучения рекомендую документацию PostgreSQL и Red OS. Удачи в твоих проектах!

Поделиться:
Сохранить гайд? В закладки браузера