Gymterview
junior

Что такое PostgreSQL и чем он отличается от других СУБД?

PostgreSQL — это объектно-реляционная система управления базами данных (ОРСУБД) с открытым исходным кодом, одна из наиболее зрелых и функциональных СУБД, активно развивающаяся с 1986 года (проект POSTGRES в Калифорнийском университете Беркли).

Аналогия из жизни: если MySQL — это надёжный семейный автомобиль, то PostgreSQL — это полноприводный внедорожник с прицепом. Он справляется и с простыми поездками, и с бездорожьем (сложные запросы, JSON, геоданные), но требует чуть больше внимания при настройке.

Ключевые особенности

  • Полная поддержка ACID
  • Поддержка MVCC (Multi-Version Concurrency Control)
  • Расширяемая система типов данных (JSON/JSONB, массивы, hstore, геоданные и др.)
  • Мощный оптимизатор запросов
  • Поддержка CTE, оконных функций, полнотекстового поиска
  • Механизм расширений (extensions): PostGIS, pg_trgm, pgcrypto и др.
  • Строгое соответствие стандарту SQL

Сравнение с MySQL

Критерий PostgreSQL MySQL
Тип Объектно-реляционная Реляционная
MVCC Нативный, на уровне ядра Зависит от движка (InnoDB)
JSON Полноценный JSONB с индексами Поддержка JSON (менее мощная)
Полнотекстовый поиск Встроенный Базовый (FULLTEXT)
Репликация Потоковая и логическая Встроенная (master-slave)
Расширяемость Высокая (extensions, custom types) Ограниченная
Производительность чтения Отлично, особенно сложные запросы Быстрые простые SELECT

Сравнение с Oracle

Критерий PostgreSQL Oracle
Лицензия Открытая (PostgreSQL License) Коммерческая (дорогая)
Функциональность Сопоставима для большинства задач Немного шире (RAC, Data Guard)
PL/pgSQL vs PL/SQL Похожий синтаксис Более зрелый
Партиционирование Декларативное (с v10) Развитое
Стоимость Бесплатная Высокая стоимость лицензий

В банковской сфере PostgreSQL часто выбирают за надёжность, строгое соответствие ACID и отсутствие лицензионных платежей.

На собеседовании: интервьюер ожидает не перечисление фич, а понимание позиционирования: PostgreSQL строже следует стандарту SQL, лучше работает со сложными запросами и имеет нативный MVCC, тогда как MySQL быстрее на простых SELECT. Упомяните расширяемость (extensions) как уникальную черту PostgreSQL.