Postgresql pro что это
Postgres Pro Standard — это объектно-реляционная система управления базами данных ( ОРСУБД , ORDBMS ), разработанная Postgres Professional в рамках проекта Postgres Pro на основе PostgreSQL , в свою очередь, основанном на POSTGRES, Version 4.2 — программе, разработанной на факультете компьютерных наук Калифорнийского университета в Беркли. В POSTGRES появилось множество новшеств, которые были реализованы в некоторых коммерческих СУБД гораздо позднее.
Postgres Pro Standard работает во всех основных операционных системах Linux и Windows. Как и PostgreSQL , Postgres Pro Standard соответствует требованиям ACID.
Postgres Pro Standard , как и PostgreSQL поддерживает большую часть стандарта SQL и предлагает множество современных функций:
- сложные запросы
- внешние ключи
- триггеры
- изменяемые представления
- транзакционная целостность
- многоверсионное управление конкурентным доступом
Кроме того, пользователи могут всячески расширять Postgres Pro , так же как и PostgreSQL , например, создавая свои
- типы данных
- функции
- операторы
- агрегатные функции
- методы индексирования
- процедурные языки
| Пред. | Наверх | След. |
| Предисловие | Начало | 2. Различия между Postgres Pro Standard и PostgreSQL |
Postgresql pro что это
Postgres Pro предоставляет наиболее актуальную версию PostgreSQL c дополнительными изменениями и расширениями. Этот продукт включает все новые возможности, реализованные компанией Postgres Professional, а также сторонние доработки, которые уже приняты сообществом PostgreSQL и попадут в новые версии PostgreSQL. Таким образом, пользователи Postgres Pro Enterprise получают ранний доступ к важным нововведениям и исправлениям.
Примечание
Postgres Pro Enterprise предоставляется по следующей лицензии: https://postgrespro.ru/products/postgrespro/eula. Обязательно ознакомьтесь с условиями лицензии, прежде чем загружать и использовать Postgres Pro Enterprise .
Postgres Pro Enterprise отличают от PostgreSQL следующие усовершенствования:
- 64-битные идентификаторы транзакций, исключающие проблемы зацикливания. (См. Подраздел 24.1.5.)
- Сжатие на уровне страниц. (См. Главу 33.)
- Поддержка автономных транзакций. (См. Главу 16.)
- Уменьшение размера индекса-B-дерева, достигаемое в результате замены повторяющихся ключей одним уникальным значением и списком указателей на него.
- «Отложенное» размещение временных таблиц на диске. Дисковое пространство для временных таблиц выделяется только при переполнении буферов (размером temp_buffers ) и только тогда таблица сохраняется на диске. Так как дисковое пространство для временных таблиц теперь не выделяется сразу, это позволяет значительно сократить нагрузку на диск при работе с ограниченным количеством небольших временных таблиц.
- Экспериментальная функциональность приоритизации ресурсов позволяет выделять больше ресурсов более приоритетным сеансам. (См. Подраздел 18.4.6.)
- Автоматическое исправление страниц при потоковой репликации в случае повреждения данных (неиспорченные страницы запрашиваются с ведомого сервера). (См. Подраздел 26.2.5.3.)
- Справедливое распределение лёгких исключительных блокировок после получения заданного количества разделяемых блокировок. (См. описание параметра lwlock_shared_limit.)
- Управление объёмом кеша, который занимают подготовленные операторы. При включении параметра plan_cache_lru_size разобранные деревья запросов и общие планы, которые не использовались в последнее время, вытесняются из кеша при достижении заданного этим параметром ограничения.
- Усовершенствование выбора между последовательным сканированием и сканированием по индексу. (См. описание параметра seq_scan_startup_cost_first_row.)
- Улучшение в libpq обработки подключений с несколькими серверами и перехода от одного к другому. (См. описание параметров hostorder и failover_timeout.)
- Реализация тайм-аута для простаивающих сеансов на стороне сервера. (См. описание параметра idle_session_timeout.)
- Добавление в libpq возможности забыть введённый пароль, что позволяет предотвратить переподключения, когда это требуется политикой безопасности. (См. описание параметра reusepass.)
- Поддержка клиент-серверных соединений с использованием технологии RDMA (Remote Direct Memory Access, Удалённый прямой доступ к памяти). (См. Раздел 18.11.)
- Поддержка вывода времени в pg_waldump .
- Смягчение ограничений синхронной репликации, в результате которого ведущий сервер может продолжать работать при временной недоступности одного из ведомых. (См. описание параметра synchronous_standby_gap.)
- Экспериментальный встроенный пул соединений, позволяющий ограничивать число обслуживающих процессов при подключении множества клиентов, не накладывая ограничения на использование параметров конфигурации сеансов, подготовленных операторов или временных таблиц. (За подробностями обратитесь к Главе 34.)
- Режим автоподготовки операторов, позволяющий неявно подготавливать часто используемые операторы и таким образом оптимизировать затраты на их компиляцию и разбор при каждом последующем выполнении. (См. Раздел 14.6.)
- Поддержка изменения конфигурации других сеансов. Например, этой возможностью можно воспользоваться, чтобы включить отладочные сообщения для трассировки сеансов с необычным поведением. (См. Подраздел 9.26.1.)
- Поддержка чтения утилитой pg_controldata файлов pg_control от предыдущих версий PostgreSQL .
- Проверка совместимости кластера, позволяющая определить, совместима ли текущая версия Postgres Pro с определённым кластером, и понять, какие параметры влияют на совместимость, не запуская сервер. (См. описание параметров -z / -Z в postgres .)
- Алгоритм поиска k ближайших соседей (k-NN) для SP-GiST, GiST и B-дерева. (См. Раздел 11.13.)
- Поддержка замены индекса для ограничения без удаления самого ограничения, реализуемая предложением ALTER CONSTRAINT . USING INDEX команды ALTER TABLE .
- Периодическая проверка соединения клиента с сервером во время выполнения запросов, что позволяет обнаруживать разрывы соединений раньше и освобождать ресурсы сервера при отключении клиентов. (См. описание параметра client_connection_check_interval.)
- Улучшенная вариация pgbench , которая учитывает ошибки сериализации и взаимоблокировки в транзакциях, а также поддерживает составные команды.
- Устранено практически достижимое ограничение на число записей в ACL (списках управления доступом, то есть списках назначаемых прав).
- Исправление повреждённых данных WAL из буферов в оперативной памяти.
От Postgres Pro Standard унаследованы следующие усовершенствования:
- Улучшенный механизм проверки блокировок, не оказывающий отрицательного влияния на производительность.
- Уменьшение объёма записей в WAL, генерируемых при операциях CREATE INDEX с индексами GiST, GIN и SP-GiST.
- Увеличенная скорость и эффективность планирования для различных типов запросов.
- Уменьшенное потребление памяти при обработке сложных запросов со множеством таблиц.
- Добавление времени планирования в информацию, выводимую модулем auto_explain.
Возможность замены нулевого байта заданным ASCII-символом при загрузке данных с помощью команды COPY FROM . (См. описание параметра nul_byte_replacement_on_import.)
Postgres Pro Enterprise также включает следующие дополнительные модули:
- Расширение aqo для адаптивной оптимизации запросов.
- Модуль dump_stat , позволяющий сохранять статистику данных при резервном копировании и восстановлении.
- Модуль fasttrun , который предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, что предотвращает разрастание каталога pg_class .
- Модуль fulleq , предоставляющий дополнительный оператор равенства для совместимости с Microsoft SQL Server .
- Модуль hunspell-dict, предоставляющий словари для ряда языков.
- Модуль in_memory , позволяющий размещать данные в общей памяти Postgres Pro .
- Модуль jsquery , реализующий специальный язык запросов для эффективного поиска по индексу в структурированных данных JSONB.
- Служба мониторинга mamonsu , исполненная в виде агента Zabbix .
- Модуль mchar , предоставляющий дополнительный тип данных для совместимости с Microsoft SQL Server .
- Расширение multimaster , превращающее Postgres Pro Enterprise в синхронный кластер без разделения ресурсов, который обеспечивает расширяемость OLTP для читающих транзакций, а также высокую степень доступности с автоматическим восстановлением после сбоев.
- Модуль online_analyze , привносящий набор функций, которые немедленно обновляют статистику в целевых таблицах после операций INSERT , UPDATE , DELETE или SELECT INTO в них.
- Пул соединений pgbouncer .
- Модуль pg_hint_plan , управляющий планом выполнения запросов со специальными указаниями для планировщика.
- Модуль pg_pathman , реализующий оптимизированный механизм секционирования и функции для управления секциями, а также декларативный синтаксис.
- pg_probackup — менеджер резервного копирования и восстановления.
- Утилита pgpro_controldata , показывающая управляющую информацию кластера БД PostgreSQL / Postgres Pro и параметры совместимости кластера и/или сервера.
- Модуль pgpro_scheduler, в котором реализованы фоновые исполнители для планируемых задач.
- Модуль pg_query_state , дающий возможность узнавать текущее состояние выполнения запросов в обслуживающем процессе.
- Утилита pg_repack для реорганизации таблиц.
- Модуль pg_transfer, осуществляющий поддержку перемещаемых таблиц.
- Модуль pg_tsparser — альтернативный анализатор текстового поиска.
- Модуль pg_variables , предоставляющий функции для работы с переменными различных типов.
- Расширение pg_wait_sampling , предназначенное для периодического сбора статистики по событиям ожидания. Воспользовавшись этим расширением, вы сможете понять характер активности сервера, в том числе увидеть текущие события ожидания во всех обычных и фоновых рабочих процессах.
- Модуль plantuner , добавляющий поддержку указаний для планировщика, подключающих или отключающих определённые индексы при выполнении запроса.
- Модуль rum , предоставляющий индекс RUM на базе GIN.
- Модуль shared_ispell , позволяющий разместить словари в общей памяти.
- Модуль sr_plan , позволяющий сохранять и восстанавливать планы запросов.
- Экспериментальный модуль vops , реализующий вертикальную модель данных в Postgres Pro Enterprise . Эта модель позволяет многократно ускорить запросы OLAP с фильтрацией и агрегированием.
Выпуски Postgres Pro Enterprise следуют за выпусками PostgreSQL , хотя иногда могут выпускаться чаще. Схема версионирования Postgres Pro Enterprise основана на схеме версионирования PostgreSQL и включает дополнительную цифру.
| Пред. | Наверх | След. |
| 1. Что такое Postgres Pro Enterprise ? | Начало | 3. Краткая история PostgreSQL |
Российская СУБД Postgres Pro
Postgres Pro Enterprise — российская СУБД, представляющая собой глубоко переработанную редакцию СУБД PostgreSQL. Около 20% кода и документации этой СУБД написано или модифицировано компанией Postgres Pro. СУБД Postgres Pro Enterprise включает большое количество уникальных функций, обеспечивающих максимальную надежность и высокую производительность системы, которая в отдельных случаях может кратно превышать производительность PostgreSQL, что позволяет ей решать самые сложные промышленные задачи в предприятиях с высоконагруженными системами. Среди уникальных функциональных особенностей Postgres Pro Enterprise: 64-разрядный счетчик транзакций, инкрементальный бэкап на уровне блоков, автономные транзакции, компрессия данных, симметричный отказоустойчивый кластер (мультимастер) и многое другое (см. в сравнительной таблице ниже).
Postgres Pro Standard — вариант СУБД Postgres Pro для менее нагруженных систем. Предоставляет возможности инкрементального резервного копирования. Содержит ряд дополнительный патчей, улучшающих функциональность по сравнению со свободной версией PostgreSQL (см. в сравнительной таблице ниже).
Все варианты СУБД Postgres Pro имеют полную техническую документацию и системные сообщения на русском языке, встроенную систему полнотекстового поиска со словарём русского языка, адаптированы к работе с платформой 1С:Предприятие, имеют сертификат ФСТЭК, подтверждающий необходимый уровень безопасности для работы с персональными и конфиденциальными данными.
Сравнение версий Postgres Pro
| СУБД | Postgres Pro Enterprise | Postgres Pro Enterprise Certified | Postgres Pro Standard | Postgres Pro Certified | Shardman | PostgreSQL |
|---|---|---|---|---|---|---|
| Коммерческая СУБД, разработанная Postgres Professional для важных приложений и высоких нагрузок | Сертифицированная версия Postgres Pro Enterpise | Российская СУБД, разработанная компанией Postgres Professional на основе свободно-распространяемой СУБД PostgreSQL | Сертифицированная версия Postgres Pro Standard | Распределенная реляционная СУБД с горизонтальным масштабированием до сотен серверов | Свободно-распространяемая СУБД, разработанная международным сообществом и значительным вкладом разработчиков Postgres Pro | |
| Подробнее » | Подробнее » | Подробнее » | Подробнее » | Подробнее » | ||
| Сертификация ФСТЭК | ○ | ● | ○ | ● | ожидаем сертификат в 2024 году | ○ |
| Единый Реестр российского ПО | ● | ● | ● | ● | ○ | ○ |
| 64-разрядный счетчик транзакций | ● | ● | ○ | ○ | ○ | ○ |
| Инкрементальный бэкап на уровне блоков | ● | ● | ○ | ○ | ○ | ○ |
| Автономные транзакции | ● | ● | ○ | ○ | ○ | ○ |
| Сжатие данных (CFS) | ● | ● | ○ | ○ | ● | ○ |
| Секционирование таблиц | ● | ● | ● | ● | ● | ● |
| JsonB | ● | ● | ● | ● | ○ | ○ |
| Mamonsu — агент мониторинга | ● | ● | ● | ● | ○ | ○ |
| PG_Probackup | ● | ● | ● | ● | ● | ○ |
| PGPRO_PWR | ● | ● | ● | ● | ● | ○ |
| Покрывающие индексы | ● | ● | ● | ● | ○ | ○ |
| KNN: Индексный поиск ближайших соседей | ● | ● | ○ | ○ | ○ | ○ |
| Эффективное секционирование | ● | ● | ○ | ○ | ○ | ○ |
| Комбинирование полнотекстового поиска с индексом релевантности (RUM) | ● | ● | ○ | ○ | ○ | ○ |
| Мониторинг производительности и контроль ожидания при выполнении запросов | ● | ● | ○ | ○ | ○ | ○ |
| Триггеры событий входа | ● | ● | ○ | ○ | ○ | ○ |
| Приоритезация ресурсов | ● | ● | ○ | ○ | ○ | ○ |
| Online перемещение таблиц | ● | ● | ○ | ○ | ○ | ○ |
| Автоматическое исправление страниц из реплики | ● | ● | ○ | ○ | ○ | ○ |
| Исправление WAL из буферов памяти | ● | ● | ○ | ○ | ○ | ○ |
| Работа мастера при выходе из строя одной из реплик | ● | ● | ○ | ○ | ○ | ○ |
| Изменение конфигурации других сеансов | ● | ● | ○ | ○ | ○ | ○ |
| Отложенный сброс временных таблиц на диск | ● | ● | ○ | ○ | ○ | ○ |
| PG_WAIT_SAMPLING | ● | ● | ○ | ○ | ○ | ○ |
| Режим автоподготовки операторов | ● | ● | ○ | ○ | ○ | ○ |
| Обновление версии без остановки сервера | ● | ● | ● | ● | ○ | ○ |
Версии Postgres Pro
Номер версии Postgres Pro строится из номера версии PostgreSQL с дополнением одного разряда, обозначающего номер текущего выпуска. При выходе новой минорной версии PostgreSQL (обычно это происходит при появлении патчей, связанных с безопасностью и исправлением серьезных ошибок), нумерация Postgres Pro сбрасывается на единицу. Например, при выходе PostgreSQL 9.5.1 выходит PostgresPro 9.5.1.1, затем до появления PostgreSQL 9.5.2 может выйти Postgres Pro 9.5.1.2, 9.5.1.3 и т.д. При выходе PostgreSQL 9.5.2 Postgres Pro обновится до версии 9.5.2.1 и т.д.
Одновременно с выпуском исходного кода Postgres Pro мы публикуем наши сборки в виде пакетов под различные платформы. Это следующие операционные системы и их версии:
Postgresql pro что это
Postgres Pro — это объектно-реляционная система управления базами данных ( ОРСУБД , ORDBMS ), разработанная Postgres Professional в рамках проекта Postgres Pro на основе PostgreSQL , в свою очередь, основанном на POSTGRES, Version 4.2 — программе, разработанной на факультете компьютерных наук Калифорнийского университета в Беркли. В POSTGRES появилось множество новшеств, которые были реализованы в некоторых коммерческих СУБД гораздо позднее.
PostgreSQL — СУБД с открытым исходным кодом, основой которого был код, написанный в Беркли. Она поддерживает большую часть стандарта SQL и предлагает множество современных возможностей:
- сложные запросы
- внешние ключи
- триггеры
- изменяемые представления
- транзакционная целостность
- многоверсионность
Кроме того, пользователи могут всячески расширять Postgres Pro , так же как и PostgreSQL , например, создавая свои
- типы данных
- функции
- операторы
- агрегатные функции
- методы индексирования
- процедурные языки
| Пред. | Наверх | След. |
| Предисловие | Начало | 2. Различия между Postgres Pro и PostgreSQL |