Как установить PostgreSQL на Windows, Linux и macOS: полное руководство
Если вы впервые сталкиваетесь с PostgreSQL или переходите на новую операционную систему - эта статья поможет пройти установку без лишних ошибок. Разберём все три платформы пошагово: Windows, Linux (Ubuntu/Debian и CentOS/RHEL) и macOS. Подойдёт для новичков и разработчиков среднего уровня.
Что такое PostgreSQL и зачем его устанавливать
PostgreSQL (или просто Postgres) - объектно-реляционная СУБД с открытым исходным кодом. Поддерживает сложные запросы, транзакции, JSON, репликацию и расширения. Используется в проектах любого масштаба: от стартапов до банков.
Главные преимущества:
Полная поддержка стандарта SQL и расширений (jsonb, arrays, hstore)
Бесплатная открытая лицензия
ACID-транзакции «из коробки»
Активное сообщество и регулярные релизы
Репликация, партиционирование, полнотекстовый поиск
Почему установка PostgreSQL вызывает затруднения
Чаще всего пользователи сталкиваются с такими проблемами:
Несовместимость версий ОС и дистрибутива PostgreSQL
Конфликт портов (5432 уже занят другим процессом)
Ошибки прав доступа при инициализации кластера
Незнание, как подключиться после установки
Путаница между пользователем ОС postgres и ролью БД
Установка PostgreSQL на Windows
Шаг 1. Скачать установщик
Перейдите на официальный сайт: https://www.postgresql.org/download/windows/
Скачайте EXE-установщик от EnterpriseDB для нужной версии (рекомендуем PostgreSQL 16).
Шаг 2. Запустить установщик
Запустите postgresql-16.x-windows-x64.exe от имени администратора.
Выберите компоненты: PostgreSQL Server, pgAdmin 4, Stack Builder, Command Line Tools.
Укажите директорию установки (по умолчанию C:\Program Files\PostgreSQL\16).
Задайте пароль для пользователя postgres - запомните его!
Порт оставьте 5432 (если не конфликтует).
Нажмите Next → Install.
Шаг 3. Проверить установку
Откройте PowerShell или cmd:
psql -U postgres -c "SELECT version();"Должна появиться строка с версией PostgreSQL. Если psql не найден - добавьте путь в PATH:
C:\Program Files\PostgreSQL\16\binУстановка PostgreSQL на Linux
Ubuntu / Debian
Самый надёжный способ - официальный репозиторий PostgreSQL:
sudo apt install -y curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail \
https://www.postgresql.org/media/keys/ACCC4CF8.asc
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] \
https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" \
> /etc/apt/sources.list.d/pgdg.list'
sudo apt update && sudo apt install -y postgresql-16Проверить статус службы:
sudo systemctl status postgresqlПодключиться к БД:
sudo -u postgres psqlCentOS / RHEL / Rocky Linux
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql16-server
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable --now postgresql-16Установка PostgreSQL на macOS
Способ 1: через Homebrew (рекомендуется)
Если Homebrew не установлен:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Установка PostgreSQL:
brew install postgresql@16
brew services start postgresql@16Добавьте в PATH (в ~/.zshrc или ~/.bash_profile):
export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"Подключение:
psql postgresСпособ 2: через Postgres.app
Скачайте Postgres.app с сайта https://postgresapp.com/ - GUI-приложение, которое запускает PostgreSQL одним кликом. Подходит для быстрого старта без работы в терминале.
Частые ошибки и как их исправить
Ошибка: порт 5432 уже используется
Проверьте, что занимает порт:
sudo lsof -i :5432 # Linux/macOS
netstat -ano | findstr :5432 # WindowsЗавершите процесс или измените порт в postgresql.conf:
port = 5433Ошибка: FATAL: role "username" does not exist
Создайте роль в PostgreSQL:
sudo -u postgres createuser --interactiveОшибка: pg_hba.conf rejects connection
Откройте файл pg_hba.conf (обычно /etc/postgresql/16/main/pg_hba.conf) и проверьте метод аутентификации. Для локальной разработки замените peer/ident на md5 или scram-sha-256, затем перезапустите сервис:
sudo systemctl restart postgresqlОшибка: could not connect to server (Windows)
Убедитесь, что служба запущена:
services.msc → найдите postgresql-x64-16 → ЗапуститьПрактические примеры после установки
Создание пользователя и базы данных
sudo -u postgres psql
CREATE USER myuser WITH PASSWORD 'securepass';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;Подключение через psql
psql -h localhost -U myuser -d mydbБазовый тест работы
CREATE TABLE test (id SERIAL PRIMARY KEY, name TEXT);
INSERT INTO test (name) VALUES ('PostgreSQL works!');
SELECT * FROM test;Часто задаваемые вопросы (FAQ)
Какую версию PostgreSQL выбрать? Используйте последнюю стабильную - на сегодня это PostgreSQL 16. Для продакшна подойдут версии с долгосрочной поддержкой: 14 или 16.
Чем PostgreSQL отличается от MySQL? PostgreSQL строже следует стандарту SQL, лучше работает со сложными запросами и JSON. MySQL чуть быстрее на простых операциях чтения. Для современного бэкенда Postgres - предпочтительный выбор.
Как запустить PostgreSQL как службу при старте системы? Linux: sudo systemctl enable postgresql. macOS Homebrew: brew services start postgresql@16. Windows: установщик делает это автоматически.
Где хранятся данные PostgreSQL? Linux: /var/lib/postgresql/16/main. macOS Homebrew: /opt/homebrew/var/postgresql@16. Windows: C:\Program Files\PostgreSQL\16\data.
Как подключиться через pgAdmin? Откройте pgAdmin 4 → Add New Server → укажите Host: localhost, Port: 5432, Username: postgres, Password - тот, что задали при установке.
Как изменить пароль пользователя postgres?
ALTER USER postgres WITH PASSWORD 'newpassword';
Можно ли запустить несколько версий PostgreSQL одновременно? Да, но на разных портах (5432, 5433 и т.д.). На Linux используйте pg_lsclusters для управления кластерами.
Как полностью удалить PostgreSQL? Linux: sudo apt purge postgresql* && sudo rm -rf /var/lib/postgresql. macOS: brew uninstall postgresql@16 && rm -rf /opt/homebrew/var/postgresql@16. Windows: удалите через Панель управления → Программы.
Лучшие практики и полезные советы
Никогда не используйте пользователя postgres для повседневной работы - создайте отдельную роль.
Настройте pg_hba.conf под задачу: scram-sha-256 для удалённых подключений, peer для локальных скриптов.
Используйте .pgpass для автоматической аутентификации в скриптах.
Регулярно делайте резервные копии: pg_dump -U postgres mydb > backup.sql
Мониторьте производительность с помощью pg_stat_activity и EXPLAIN ANALYZE.
Для локальной разработки рассмотрите Docker: docker run -e POSTGRES_PASSWORD=pass -p 5432:5432 postgres:16
Проверяйте совместимость версии PostgreSQL с вашим фреймворком (Django, Rails, Laravel).
Итог
PostgreSQL устанавливается несложно на любую платформу - главное использовать официальные репозитории и актуальные версии. На Windows достаточно GUI-установщика, на Linux - пара команд в терминале, на macOS - Homebrew. После установки сразу создайте отдельного пользователя для своей базы и проверьте подключение через psql или pgAdmin.
Комментарии
Чтобы оставить комментарий, войдите в аккаунт.