Установка PostgreSQL на Debian 12/13: пошаговая инструкция и настройка | AdminWiki

Установка PostgreSQL Debian: Полное руководство от установки до настройки

17 декабря 2025 8 мин. чтения #1c #debian #devops #linux #postgresql #базы данных
Содержание статьи

Введение: Почему именно PostgreSQL на Debian?

Представь, что тебе нужно развернуть надежную, производительную и безопасную систему управления базами данных для твоего проекта. PostgreSQL на Debian — это классический выбор для production-сред. В этом руководстве мы разберем установку и настройку PostgreSQL Debian от начала до конца, включая специфичные моменты для Debian 12, Debian 13 и интеграцию с 1С.

Это руководство подходит для Debian 11 (Bullseye), Debian 12 (Bookworm) и Debian 13 (Trixie). Большинство команд идентичны для всех версий.

Подготовка системы перед установкой PostgreSQL

Перед тем как начать установку PostgreSQL на Debian, убедимся, что система обновлена и у нас есть необходимые права:

bash
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget gnupg software-properties-common

Установка PostgreSQL на Debian 12 и 13

Давай разберем основной процесс установки. Для Debian 12 PostgreSQL установка и Debian 13 PostgreSQL установка практически идентичны.

Шаг 1: Добавление официального репозитория PostgreSQL

Хотя в репозиториях Debian есть PostgreSQL, для получения последней версии лучше использовать официальный репозиторий:

bash
# Создаем файл с ключом репозитория
sudo curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
    sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

# Добавляем репозиторий для Debian 12/13
sudo sh -c 'echo "deb [arch=amd64] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Обновляем список пакетов
sudo apt update

Шаг 2: Установка PostgreSQL 15 на Debian 13 (или другой версии)

Теперь установим конкретную версию. Для установки PostgreSQL 15 на Debian 13 выполни:

bash
# Установка PostgreSQL 15 (последняя стабильная на момент написания)
sudo apt install -y postgresql-15 postgresql-client-15 postgresql-contrib-15

# Или установка конкретной версии
# sudo apt install -y postgresql-14  # Для версии 14
# sudo apt install -y postgresql-13  # Для версии 13
Если тебе нужна установка PostgreSQL 9.3 на Debian (для legacy-систем), используй пакеты из стандартных репозиториев Debian: sudo apt install -y postgresql-9.3. Но учти, что эта версия не получает обновлений безопасности.

Шаг 3: Проверка установки и запуск службы

После установки PostgreSQL на Debian проверь, что служба запущена:

bash
# Проверяем статус службы
sudo systemctl status postgresql

# Если не запущена, запускаем
sudo systemctl start postgresql

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

Настройка PostgreSQL Debian: базовая конфигурация

После установки PostgreSQL Debian переходим к настройке PostgreSQL Debian 12 (или другой версии). Это критически важный этап для безопасности и производительности.

Шаг 1: Настройка аутентификации (pg_hba.conf)

Файл pg_hba.conf управляет аутентификацией. Находится он обычно в /etc/postgresql/15/main/ (15 — версия PostgreSQL):

bash
# Резервное копирование оригинального файла
sudo cp /etc/postgresql/15/main/pg_hba.conf /etc/postgresql/15/main/pg_hba.conf.backup

# Редактируем файл
sudo nano /etc/postgresql/15/main/pg_hba.conf

Пример безопасной конфигурации для локальных подключений:

config
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# IPv4 локальные подключения:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 локальные подключения:
host    all             all             ::1/128                 scram-sha-256
# Replication
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

Шаг 2: Основная конфигурация (postgresql.conf)

Основные настройки производительности хранятся в postgresql.conf. Давай настроим базовые параметры:

bash
sudo nano /etc/postgresql/15/main/postgresql.conf

Рекомендуемые настройки для сервера с 4 ГБ RAM:

config
# Слушаем все интерфейсы (или только конкретный IP)
listen_addresses = '*'  # или 'localhost, 192.168.1.100'

# Порт
port = 5432

# Настройки памяти
shared_buffers = 1GB          # 25% от RAM
work_mem = 16MB               # для сортировок
maintenance_work_mem = 256MB  # для обслуживания

# Настройки журналирования
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

# Включаем расширения
shared_preload_libraries = 'pg_stat_statements'

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

После установки и настройки PostgreSQL Debian создадим пользователя и базу данных:

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

# В консоли PostgreSQL создаем пользователя
CREATE USER myuser WITH PASSWORD 'StrongPassword123!';

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

# Даем все привилегии
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

# Выходим
\q

Особенности установки PostgreSQL для 1С на Debian

Если тебе нужна установка Debian PostgreSQL 1C, есть несколько важных моментов:

  • Версия PostgreSQL: 1С рекомендует конкретные версии. Проверь совместимость на сайте 1С
  • Локаль: Установи локаль UTF-8 для корректной работы с кириллицей
  • Настройки памяти: Увеличь shared_buffers и work_mem для тяжелых операций 1С
  • Расширения: Убедись, что установлен пакет postgresql-contrib

Пример создания кластера для 1С:

bash
# Останавливаем PostgreSQL
sudo systemctl stop postgresql

# Создаем новый кластер с локалью UTF-8
sudo pg_createcluster --locale ru_RU.UTF-8 15 main_1c

# Запускаем новый кластер
sudo systemctl start postgresql@15-main_1c

Управление PostgreSQL после установки

Основные команды управления

Действие Команда Описание
Запуск sudo systemctl start postgresql Запустить службу
Остановка sudo systemctl stop postgresql Остановить службу
Перезагрузка sudo systemctl restart postgresql Перезапустить с чтением конфигов
Статус sudo systemctl status postgresql Проверить состояние
Логи sudo journalctl -u postgresql -f Просмотр логов в реальном времени

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

bash
# Резервное копирование базы данных
sudo -u postgres pg_dump mydb > /backup/mydb_$(date +%Y%m%d).sql

# Резервное копирование всех баз
sudo -u postgres pg_dumpall > /backup/all_$(date +%Y%m%d).sql

# Восстановление базы данных
sudo -u postgres psql mydb < /backup/mydb_20240115.sql

Безопасность PostgreSQL после установки

После настройки PostgreSQL Debian обязательно выполни эти шаги:

  1. Смени пароль пользователя postgres: sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'NewStrongPassword'"
  2. Настрой брандмауэр: Ограничь доступ к порту 5432 только доверенным IP
  3. Регулярно обновляй: sudo apt update && sudo apt upgrade postgresql-15
  4. Настрой мониторинг: Используй pg_stat_statements для анализа запросов
  5. Регулярные бэкапы: Настрой автоматическое резервное копирование

Устранение распространенных проблем

Проблема: "Peer authentication failed" при подключении
Решение: Проверь настройки в pg_hba.conf. Убедись, что для твоего метода подключения указан правильный METHOD (md5 или scram-sha-256).
Проблема: PostgreSQL не слушает внешние подключения
Решение: В postgresql.conf измени listen_addresses = 'localhost' на listen_addresses = '*' (с учетом рисков безопасности!).

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

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

Выполни команду: sudo -u postgres psql -c "SELECT version();" или psql --version

Где хранятся файлы данных PostgreSQL?

По умолчанию в /var/lib/postgresql/15/main/ (15 — версия). Конкретный путь можно узнать командой: sudo -u postgres psql -c "SHOW data_directory;"

Как полностью удалить PostgreSQL с Debian?

Используй команды: sudo systemctl stop postgresql, затем sudo apt purge postgresql* и sudo rm -rf /etc/postgresql/ /var/lib/postgresql/

Можно ли установить несколько версий PostgreSQL одновременно?

Да, можно. Каждая версия будет работать на своем порту (по умолчанию 5432, 5433 и т.д.) и иметь отдельные конфигурационные файлы.

Заключение

Мы подробно разобрали установку PostgreSQL на Debian 12, Debian 13 и более старых версий. Ты узнал не только как установить PostgreSQL, но и как правильно его настроить для production-среды, включая специфичные моменты для работы с 1С. Помни, что правильная настройка PostgreSQL Debian — это баланс между производительностью, безопасностью и стабильностью.

Главные выводы:

  • Всегда используй официальные репозитории для получения актуальных версий
  • Настраивай pg_hba.conf и postgresql.conf под свои нужды
  • Не забывай про безопасность: сложные пароли, брандмауэр, обновления
  • Для 1С удели особое внимание локали и настройкам памяти
  • Регулярно делай бэкапы и тестируй их восстановление
Теперь у тебя есть работающий и настроенный PostgreSQL на Debian! Следующий шаг — углубленное изучение мониторинга, репликации и тонкой настройки производительности под конкретную нагрузку.
Поделиться:
Сохранить гайд? В закладки браузера