PostgreSQL — это не просто база данных. Это мощная объектно-реляционная СУБД с 35-летней историей, которую используют Spotify, Instagram, Reddit. Разбираем что это, зачем нужно и чем отличается от конкурентов.

Что такое PostgreSQL простыми словами
PostgreSQL (произносится «постгрес эс-кью-эл» или просто «постгрес») — система управления базами данных (СУБД) с открытым исходным кодом. Хранит данные в таблицах со строками и столбцами, поддерживает SQL и умеет значительно больше, чем обычные реляционные базы.
Слово «объектно-реляционная» означает, что PostgreSQL поддерживает не только таблицы и связи между ними, но и пользовательские типы данных, наследование таблиц, функции и процедуры — возможности, которых нет в чисто реляционных СУБД.
История: проект начался в 1986 году в Калифорнийском университете Беркли под названием POSTGRES. В 1996 году добавили поддержку SQL и переименовали в PostgreSQL. Сейчас разработкой занимается PostgreSQL Global Development Group — независимое сообщество. Никакой корпорации-владельца, полностью открытый код.
Основные возможности PostgreSQL
| Возможность | Описание |
|---|---|
| ACID транзакции | Гарантия консистентности данных даже при сбоях |
| MVCC | Параллельные транзакции без блокировок на чтение |
| JSON/JSONB | Хранение и поиск по документам внутри реляционной БД |
| Полнотекстовый поиск | Встроен, без дополнительных инструментов |
| Расширения | PostGIS, pgvector, TimescaleDB, uuid-ossp и сотни других |
| Репликация | Streaming и логическая репликация |
| Партиционирование | Range, List, Hash секционирование больших таблиц |
| Оконные функции | Полная поддержка аналитических запросов |
Лицензия PostgreSQL — свободнее MIT: можно использовать в коммерческих продуктах, модифицировать, распространять без ограничений и без обязательного открытия кода.
PostgreSQL vs MySQL — в чём разница
Самый частый вопрос при выборе СУБД. Оба варианта хороши, но для разных задач:
| PostgreSQL | MySQL | |
|---|---|---|
| Тип | Объектно-реляционная | Реляционная |
| JSON поддержка | Полная (JSONB с индексами) | Базовая (с 5.7) |
| Транзакции | Полный ACID | Зависит от движка (InnoDB) |
| Оконные функции | Полная поддержка | С версии 8.0 |
| Сложные запросы | Лучше (CTE, lateral join) | Хуже |
| Производительность вставки | Хорошая | Чуть выше на простых INSERT |
| Расширяемость | Высокая (расширения) | Ограниченная |
| Репликация | Встроенная, гибкая | Встроенная |
| Лицензия | PostgreSQL (свободная) | GPL (ограничения в коммерции) |
Когда выбрать MySQL: WordPress и другие CMS по умолчанию работают с MySQL, legacy проекты, нужна максимальная скорость простых вставок.
Когда выбрать PostgreSQL: сложные аналитические запросы, нужен JSONB, геоданные (PostGIS), работа с Django (PostgreSQL используется по умолчанию), новые проекты без ограничений.
Где используется PostgreSQL
PostgreSQL — один из самых популярных выборов для серьёзных проектов:
- Веб-приложения — Django ORM использует PostgreSQL по умолчанию, Ruby on Rails, FastAPI
- Аналитика и BI — хранилища данных, OLAP запросы, оконные функции
- Геоинформационные системы — расширение PostGIS превращает PostgreSQL в геобазу
- Финтех — банки и биржи ценят ACID и надёжность транзакций
- SaaS продукты — Supabase строится целиком на PostgreSQL
Известные компании используют PostgreSQL в продакшне: Apple, Cisco, Fujitsu, Instagram, Reddit, Skype, Spotify.
PostgreSQL 17 и 18 — что нового
PostgreSQL 17 (выпущен сентябрь 2024): улучшения VACUUM — быстрее обрабатывает большие таблицы, улучшен MERGE с поддержкой RETURNING, производительность логической репликации выросла, новые JSON функции.
PostgreSQL 18 (выпущен 25 сентября 2025): асинхронный ввод-вывод (async I/O), улучшенный планировщик запросов, ускорение обновлений и удаления строк, улучшения мониторинга. На май 2026 актуальная ветка — PostgreSQL 18.x.
Поддерживаемые ветки на май 2026: PostgreSQL 14, 15, 16, 17 и 18 — они получают исправления безопасности. Для новых проектов обычно стоит брать PostgreSQL 18, а PostgreSQL 17 выбирать только если конкретный хостинг, расширение или корпоративный регламент ещё не готов к 18-й ветке.
Как начать работу с PostgreSQL
Три пути — от быстрого до полного контроля:
# Вариант 1: Docker (самый быстрый старт)
docker run -d \
--name my-postgres \
-e POSTGRES_PASSWORD=mypassword \
-p 5432:5432 \
postgres:17
docker exec -it my-postgres psql -U postgres
Вариант 2: Установить локально — на Windows (EnterpriseDB installer) или Ubuntu (apt). Подробнее в следующих статьях.
Вариант 3: Облачный хостинг — Supabase и Neon предлагают бесплатный тариф. Создаёшь аккаунт, получаешь строку подключения и сразу начинаешь работать без установки.
Часто задаваемые вопросы
PostgreSQL бесплатный?
Да, полностью. PostgreSQL распространяется под собственной лицензией PostgreSQL License, которая позволяет использовать, изменять и распространять без ограничений — включая коммерческое использование. Никаких enterprise-версий с закрытыми функциями нет. Все возможности доступны в открытом дистрибутиве.
PostgreSQL сложнее MySQL?
Для базовых операций — примерно одинаково. CREATE TABLE, INSERT, SELECT, JOIN — синтаксис практически идентичен. PostgreSQL сложнее в административных задачах: настройка pg_hba.conf, роли и привилегии, параметры конфигурации. Зато богаче возможностями: JSONB, оконные функции, расширения. Если знаешь SQL — освоишь PostgreSQL за несколько часов.
Какую версию PostgreSQL выбрать?
Для новых проектов — PostgreSQL 18. Если инфраструктура или расширения пока требуют предыдущую стабильную ветку, можно выбрать PostgreSQL 17: она ещё поддерживается и получает исправления безопасности. Избегай устаревших версий 13 и ниже — они уже не входят в текущий набор поддерживаемых веток. Версию можно обновить позже через pg_upgrade или через дамп/восстановление.



