PostgreSQL (произносится «Пост-Грес-Кью-Эл») — свободная объектно-реляционная система управления базами данных (СУБД).
PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2011 и ряд возможностей SQL:2016 в части работы с данными в формате JSON.
В PostgreSQL версии 12 есть следующие ограничения:
Максимальный размер базы данных | Нет ограничений |
Максимальный размер таблицы | 32 Тбайт |
Максимальный размер поля | 1 Гбайт |
Максимум записей в таблице | Ограничено размерами таблицы |
Максимум полей в записи | 250—1600, в зависимости от типов полей |
Максимум индексов в таблице | Нет ограничений |
Сильными сторонами PostgreSQL считаются:
- высокопроизводительные и надёжные механизмы транзакций и репликации;
- расширяемая система встроенных языков программирования: в стандартной поставке поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl; дополнительно можно использовать PL/Java, PL/PHP, PL/Python, PL/R, PL/Ruby, PL/Scheme, PL/sh и PL/V8, а также имеется поддержка загрузки модулей расширения на языке C;
- наследование;
- наличие в комплекте поставки драйверов ODBC и JDBC;
- возможность индексирования геометрических (в частности, географических) объектов и наличие базирующегося на ней расширения PostGIS. Это означает, что геоинформационные технологии поддерживаются в полном объёме ;
- встроенная поддержка слабоструктурированных данных в формате JSON с возможностью их индексации;
- расширяемость (возможность создавать новые типы данных, типы индексов, языки программирования, модули расширения, подключать любые внешние источники данных).
Преимущества PostgreSQL:
1. Надежность и стабильность: PostgreSQL разработан, чтобы быть надежной и стабильной системой управления базами данных.
2. Масштабируемость: PostgreSQL поддерживает горизонтальное масштабирование и может оперировать с огромными объемами данных без значительного снижения производительности.
3. Расширяемость: PostgreSQL позволяет создавать пользовательские типы данных, функции и операторы для более гибкой разработки и управления данными.
4. Поддержка SQL: PostgreSQL полностью совместим с ANSI SQL и поддерживает множество функций SQL, что делает его удобным для разработчиков баз данных.
5. Многофункциональность: PostgreSQL поддерживает множество продвинутых функций, таких как триггеры, хранимые процедуры, геоданные и полнотекстовый поиск.
Недостатки PostgreSQL:
1. Сложность настройки: Настройка PostgreSQL может быть сложной задачей, особенно для новичков.
2. Ограниченная поддержка структур данных: PostgreSQL не поддерживает некоторые распространенные структуры данных, такие как многоместные хеш-таблицы.
3. Отсутствие инструментов администрирования: В отличие от некоторых других СУБД, PostgreSQL не имеет широко распространенных инструментов администрирования, что может затруднить управление базами данных.
4. Ограниченная поддержка графического интерфейса: PostgreSQL имеет ограниченную поддержку графического интерфейса пользователя, что может быть неудобно для некоторых разработчиков.