Загрузка...

Блог

PostgreSQL для сисадминов: основы

PostgreSQL для сисадминов: основы

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 и проверка восстановления.