Каталог статей
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
-
Сопоставления без учета регистра и диакритических знаков
-
исследовать все