Введение в PostgreSQL

PostgreSQL

PostgreSQL зародился на факультете компьютерных наук Калифорнийского университета в Беркли и первоначально был задуман в 1986 году как Berkley Postgres Project. В 1995 году разработчики Эндрю Ю и Джолли Чен добавили программу перевода SQL в Postgres и выпустили ее в сообществе открытого исходного кода под названием Postgres95.В 1996 году разработчики снова внесли серьезные изменения в Postgres95 и выпустили ее, поскольку PostgresSQL версии 6.0 официально выпущен .

PostgreSQL — это мощная система объектно-реляционных баз данных с открытым исходным кодом, которая использует и расширяет язык SQL и включает в себя множество функций для безопасного хранения и масштабирования самых сложных рабочих нагрузок данных. Он заработал прочную репутацию за свою проверенную архитектуру, надежность, целостность данных, надежный набор функций, масштабируемость и приверженность сообщества открытого исходного кода непрерывному обеспечению производительности программного обеспечения и инновационных решений. PostgreSQL работает во всех основных операционных системах, совместим с кислотами с 2001 года и имеет мощные плагины, такие как популярный PostGIS Geospatial Database Extender. С тех пор, как Oracle была приобретена MySQL, PostgreSQL постепенно стал лучшим выбором для реляционных баз данных с открытым исходным кодом.

характеристика

тип данных

  • Основные типы: целое, числовое, строковое, логическое.
  • Тип структуры: дата/время, массив, диапазон/несколько диапазонов, UUID
  • Тип документа: JSON/JSONB, XML, ключ-значение (Hstore)
  • Тип геометрии: точка, линия, круг, многоугольник
  • Пользовательские типы: Составные, Пользовательские типы

Ограничения целостности

  • Уникальные ограничения данных, а не нулевые ограничения
  • ограничение первичного ключа
  • ограничения внешнего ключа
  • ограничения исключения
  • явная блокировка, рекомендательная блокировка

параллелизм, производительность

  • Индекс: B-дерево, составной индекс, индекс выражения, локальный индекс
  • Расширенное индексирование: GiST, SP-Gist, KNN GiST, GIN, BRIN, индексы покрытия, фильтры Блума
  • Сложный планировщик/оптимизатор запросов, сканирование только индекса, многостолбцовая статистика
  • транзакция, вложенная транзакция
  • Многоверсионный контроль параллелизма
  • Чтение запросов и построение индексов B-tree параллельно
  • раздел таблицы
  • Все уровни изоляции транзакций, определенные в стандарте SQL, включая Serializable.
  • Своевременная (JIT) компиляция выражений

надежность

  • Журнал упреждающей записи (WAL)
  • Репликация данных (асинхронная, синхронная, логическая): для веб-приложений характеристики репликации очень важны, и PostgreSQL может выполнять синхронную, асинхронную и полусинхронную репликацию. Репликация PostgreSQL основана на WAL, который может обеспечить синхронную репликацию. В то же время PostgreSQL также обеспечивает потоковую репликацию.
  • восстановление на определенный момент времени
  • активная резервная копия
  • место на столе

безопасность

  • Метод аутентификации: GSSAPI, SSPI, LDAP, SCRAM-SHA-256, сертификат и т. д.
  • Надежная система контроля доступа
  • Безопасность на уровне столбца и на уровне строки
  • Многофакторная аутентификация с использованием сертификатов и дополнительных методов

масштабируемость

  • хранимые функции и процедуры

  • Процедурные языки: PL/PGSQL, Perl, Python (и другие)

  • Выражения пути SQL/JSON

  • Оболочки внешних данных: используйте стандартные интерфейсы SQL для подключения к другим базам данных или потокам.

  • Настраиваемый интерфейс хранения таблиц

  • Многие расширения предоставляют дополнительную функциональность, в том числе PostGIS

Интернационализация, текстовый поиск

  • Поддержка международных наборов символов, например, через сортировку ICU

  • Сопоставления без учета регистра и диакритических знаков

  • исследовать все

おすすめ

転載: blog.csdn.net/weixin_45804031/article/details/126235005