Введение

PostgreSQL — это мощная объектно-реляционная база данных с открытым исходным кодом, основанная на языке SQL и обладающая множеством дополнительных возможностей.
Она надежно сохраняет и обрабатывает даже самые сложные данные. История PostgreSQL начинается с 1986 года, когда проект POSTGRES был запущен в Калифорнийском университете в Беркли. С тех пор прошло уже больше 35 лет активного развития этой платформы.

PostgreSQL славится своей надежной архитектурой, стабильностью, целостностью данных, богатым набором функций и возможностью расширения. Сообщество разработчиков открытого ПО постоянно улучшает эту систему, предлагая новые решения и улучшения. PostgreSQL поддерживает все основные операционные системы и отвечает стандартам ACID (Atomicity, Consistency, Isolation, Durability) с 2001 года. Кроме того, она включает полезные дополнения, например, популярное расширение для работы с географическими данными — PostGIS. Поэтому неудивительно, что PostgreSQL стала выбором многих пользователей и компаний среди открытых реляционных баз данных.

Почему именно PostgreeSQL

PostgreSQL предлагает множество инструментов, которые помогают разработчикам создавать приложения, администраторам обеспечивать защиту данных и строить надежные системы, а также позволяют эффективно управлять данными любого объема.

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

Ниже приведен неполный список различных функций взятый с официального сайта, имеющихся в PostgreSQL, причем в каждом крупном выпуске добавляются новые функции :

  • Типы данных
    • Примитивы: целые, числовые, строковые, логические
    • Структурированный: Дата/Время, Массив, Диапазон/Мультидиапазон, UUID
    • Документ: JSON/JSONB, XML, ключ-значение (Hstore)
    • Геометрия: Точка, Линия, Окружность, Многоугольник
    • Настройки: Композитные, Пользовательские типы
  • Целостность данных
    • УНИКАЛЬНЫЙ, НЕ NULL
    • Первичные ключи
    • Внешние ключи
    • Ограничения исключения
    • Явные блокировки, рекомендательные блокировки
  • Параллелизм, производительность
    • Индексирование: B-дерево, многоколоночное, выражения, частичное
    • Расширенное индексирование: GiST, SP-Gist, KNN Gist, GIN, BRIN, индексы покрытия, фильтры Блума
    • Сложный планировщик/оптимизатор запросов, сканирование только индекса, многостолбцовая статистика
    • Транзакции, вложенные транзакции (через точки сохранения)
    • Управление многоверсионным параллелизмом (MVCC)
    • Распараллеливание запросов на чтение и построение индексов B-tree
    • Разделение таблицы
    • Все уровни изоляции транзакций, определенные в стандарте SQL, включая сериализуемые
    • Компиляция выражений «точно в срок» (JIT)
  • Надежность, аварийное восстановление
    • Ведение журнала с опережающей записью (WAL)
    • Репликация: асинхронная, синхронная, логическая
    • Восстановление в определенный момент времени (PITR), активные резервы
    • Табличные пространства
  • Безопасность
    • Аутентификация: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, сертификат и многое другое
    • Надежная система контроля доступа
    • Безопасность на уровне столбцов и строк
    • Многофакторная аутентификация с сертификатами и дополнительным методом
  • Расширяемость
    • Хранимые функции и процедуры
    • Процедурные языки: PL/pgSQL, Perl, Python и Tcl. Другие языки доступны через расширения, например Java, JavaScript (V8), R, Lua и Rust
    • Конструкторы SQL/JSON, функции запросов, выражения пути и JSON_TABLE
    • Внешние оболочки данных: подключение к другим базам данных или потокам с помощью стандартного интерфейса SQL
    • Настраиваемый интерфейс хранения таблиц
    • Множество расширений, обеспечивающих дополнительную функциональность, включая PostGIS
  • Интернационализация, Текстовый поиск
    • Поддержка международных наборов символов, например, посредством сопоставлений ICU
    • Сортировки без учета регистра и диакритических знаков
    • Полнотекстовый поиск

В этом учебнике мы постараемся рассмотреть все возможности этой СУБД!


Комментарии

Добавить комментарий

Чтобы оставить комменатрий необходимо Авторизоваться