PostgreSQL

Cвободная объектно-реляционная система управления базами данных. PostgreSQL базируется на языке SQL и рассчитана на повышенные нагрузки

PostgreSQL Бесплатная объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом.
С её помощью можно гибко управлять базами данных: создавать, изменять или удалять в них записи, а также отправлять транзакции — наборы последовательных операций на языке SQL. Обеспечивается поддержка широкого набора данных. Гибкость, использование не только стандартизированных типов данных, но других, например, координат для геолокации и картографических сервисов, сетевых и MAC-адресов, а также результатов полнотекстового поиска. Применяются надстройки и расширения, которые легко позволят добавить нужный тип данных.


Возможности

Мощная система транзакций

Полностью совместимая с ACID система управления транзакциями, обеспечивает атомарность, согласованность, изоляцию и долговечность операций. Это позволяет использовать базу как для OLTP‑систем, так и для аналитических нагрузок без потери целостности данных.

Расширяемый тип данных и операторы

Пользователи могут создавать собственные типы, индексы, функции и операторы. Это открывает широкие возможности для специализированных приложений: от географических систем (PostGIS) до полнотекстового поиска.

Многоязыковая поддержка

PostgreSQL полностью поддерживает Unicode (UTF‑8), что позволяет хранить и обрабатывать тексты на любом языке. Благодаря этому база легко интегрируется в глобальные информационные системы.

Параллельные запросы

В последних версиях реализована параллельная обработка SELECT‑запросов, что повышает производительность при работе с большими таблицами и аналитическими задачами.

Интеграция с внешними системами

Через механизм Foreign Data Wrapper (FDW) PostgreSQL может обращаться к данным, расположенным в других базах данных, файловых системах или облачных хранилищах. Это позволяет объединять данные из разрозненных источников в единый запрос.

Архитектура

Модульная архитектура

База состоит из ядра, модулей (extensions) и расширяемых компонентов. Ядро отвечает за хранение данных, планирование запросов и транзакции, а модули добавляют функциональность без изменения исходного кода. Доступно расширение модулями сторонних разработчиков.

Foreign Data Wrapper (FDW)

Плагин, реализующий стандартизированный интерфейс для доступа и обеспечения совместимости с внешними источниками. С помощью FDW можно читать данные из MySQL, Oracle, MongoDB и даже CSV‑файлов, а также писать в них.

Расширение PostGIS

Самый популярный модуль для геопространственных данных. Он добавляет типы geometry и geography, индексы GiST/ SP-GiST, а также набор функций для пространственного анализа.

Пакет pg_stat_statements

Встроенная расширяемость позволяет собирать статистику по выполнению запросов, что упрощает мониторинг и оптимизацию производительности.

Система репликации

Встроенная логическая и физическая репликация обеспечивает отказоустойчивость, масштабирование чтения и возможность синхронной/асинхронной репликации между серверами PostgreSQL без сторонних инструментов.