PostgreSQL — одна из основных СУБД для приложений и метаданных RAG. Сисадмину достаточно знать: установка, пользователи, бэкапы, базовый мониторинг. Ниже — минимум для поддержки.
Установка и первый запуск
Пакет из репозитория дистрибутива (apt, yum) или официальный PostgreSQL repo. После установки — инициализация кластера и запуск сервиса. Пользователь postgres — суперпользователь по умолчанию. Подключение: psql -U postgres -d postgres или через сокет/порт 5432.
Пользователи и права
CREATE USER, CREATE DATABASE. Права через GRANT на базу, схему, таблицы. Для приложений — отдельный пользователь с минимальными правами (только нужные таблицы/схемы). Не использовать суперпользователя в приложении. Пароли — в pg_hba.conf настроить метод аутентификации (md5, scram-sha-256, peer для локального доступа).
-- Пользователь и БД для приложения CREATE USER appuser WITH PASSWORD 'your_secure_password'; CREATE DATABASE appdb OWNER appuser; -- Минимальные права: только нужная схема GRANT CONNECT ON DATABASE appdb TO appuser; GRANT USAGE ON SCHEMA public TO appuser; GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO appuser;
Бэкапы и восстановление
pg_dump — дамп одной базы или всего кластера. pg_dumpall — глобальные объекты и все БД. Регулярные дампы по расписанию; хранение по правилу 3-2-1. Восстановление: psql или pg_restore. Для больших БД — непрерывная архивация WAL и point-in-time recovery (PITR) — тема отдельной настройки.
Типичные задачи сисадмина
| Задача | Команда / действие |
|---|---|
| Подключиться к БД | psql -U postgres -d postgres или psql -h host -U user -d dbname |
| Создать пользователя и БД | CREATE USER appuser WITH PASSWORD '...'; CREATE DATABASE appdb OWNER appuser; |
| Дамп одной базы | pg_dump -U postgres -Fc dbname > backup.dump |
| Восстановить из дампа | pg_restore -U postgres -d dbname backup.dump или psql -f dump.sql |
| Активные запросы | SELECT * FROM pg_stat_activity; |
| Размер БД | SELECT pg_size_pretty(pg_database_size('dbname')); |
Для приложений заводите отдельного пользователя с минимальными правами (GRANT только на нужные схемы/таблицы). Мониторинг: активные запросы, блокировки, размер БД и таблиц — стандартные представления pg_stat_* и pg_database_size.
Практики применения
- Резервное копирование и мониторинг — обязательно; документируйте процедуры в runbook.
- Храните типовые запросы и настройки в базе знаний.
Кратко: установка из пакетов, отдельный пользователь для приложения, регулярные pg_dump и проверка восстановления.