В чём разница между Postgre SQL и Postgre Pro?
Есть вопросы к «активно» и «ведущие разработчики» как называют себя в маркетинге.
Но да, сам будучи в списке контрибьюторов postgresql, не могу отрицать, что прошники в списках рассылок временами встречаются. Основа разработки — это, конечно, Tom Lane лично, EnterpriseDB, Crunchy Data
avdamas @avdamas Автор вопроса
Вячеслав, спасибо большое за Ваши комментарии.
Melkij, ну Бартунов-то без кавычек заслуженный разработчик. Насчет активности — да, он походу в последние годы занят своей компанией.
Вообще, по-моему, почти все русские фамилии в списке разработчиков растут из Postgres Pro
Ответы на вопрос 2
PostgreSQL DBA
Это две разные СУБД.
postgres pro — местный закрытый форк свободной postgresql.
PostgreSQL vs MySQL: какая система подходит вашему бизнесу

Полноценное использование баз данных (БД) невозможно без систем управления базами данных (СУБД). Таких систем десятки, при этом одни из самых популярных и функциональных в наше время — PostgreSQL и MySQL. В чем их особенности, преимущества и отличия; когда применять ту или иную СУБД — об этом читайте в материале.
Что такое PostgreSQL
PostgreSQL — объектно-реляционная система управления базами данных с открытым исходным кодом, предусматривающая возможность легкого масштабирования и соответствующая стандартам ANSI/ISO.
В PostgreSQL все таблицы представляются в виде объектов, которые могут наследоваться, а все операции с ними выполняются с помощью объектно-ориентированных функций. При этом структура хранимых файлов (и даже записей в них) может сильно отличаться.
Примечание
В качестве сервиса для управления реляционными базами данных PostgreSQL можно использовать RDS for PostgreSQL, имеющий поддержку множества плагинов и типов данных для оперативной обработки информации, высокую надежность и систему комплексного мониторинга.
RDS for MySQL
Профессиональная платформа управления базами данных MySQL

Характеристики и преимущества PostgreSQL
PostgreSQL — одна из самых функциональных реляционных СУБД, направленная, прежде всего, на соответствие стандартам ANSI/ISO и расширяемость.
Главное отличие PostgreSQL от других СУБД — наличие объектно-ориентированных функциональных возможностей, среди которых поддержка концепции ACID (Atomicity, Consistency, Isolation, Durability — атомарность, согласованность, изолированность, долговечность).
PostgreSQL способна справляться с одновременной обработкой нескольких задач, поддерживает большое количество типов данных и вспомогательных инструментов для работы.
- Полная SQL-совместимость.
- Открытый исходный код.
- Расширенные настройки с возможностью создания собственных плагинов и персонализацией параметров.
- Возможность индексирования геометрических (в том числе географических) объектов.
- Наличие расширения PostGIS.
- Функция MVCC для управления параллельным доступом посредством многоверсионности.
- Расширяемость, позволяющая масштабировать PostgreSQL с помощью хранимых процедур.
- Возможность поддерживать некоторые объектно-ориентированные функции.
- Частые обновления.
Примечание
Эта СУБД используется в Apple, Skype, Spotify, Facebook, IMDB и других компаниях.
Что такое MySQL
MySQL — система управления реляционными базами данных (СУРБД), работающая по модели «клиент-сервер» и имеющая открытый исходный код. MySQL предназначена для хранения данных в таблицах, их обработки, структурирования и предоставления незамедлительного доступа к релевантной информации.
Технически MySQL представляет собой механизм для работы со связанными между собой таблицами с данными (например, о товаре или клиентах). При этом работа в MySQL сводится к созданию таблиц с данными и определению связей между ними.MySQL может работать с любыми данными, между которыми можно настроить связи: фото, заметки, задачи, аудио- и текстовые файлы.
Характеристики и преимущества MySQL
MySQL — самая популярная СУБД в 2020 году, по мнению 53,5% опрошенных профессиональных разработчиков. Популярность обусловлена простотой СУРБД, богатыми функциональными возможностями, встроенными системами безопасности, расширенными возможностями настройки и полной поддержкой SQL-языка. СУРБД не перегружена функциями, поэтому работает быстрее и надежнее многих аналогов.

В MySQL реализована функция разграничения доступа. Например, можно сделать так, чтобы менеджер мог только вносить данные, топ-менеджер — изменять их, а владелец — отслеживать изменения, вносить правки и удалять ненужные сведения.
Примечание
Управление РБД можно осуществлять с помощью сервиса RDS for MySQL. Сервис прост в использовании, но имеет повышенную производительность и надежность, что позволяет применять его в разных сценариях.
- Полная поддержка SQL.
- Открытый исходный код.
- Простота, обеспеченная легкой установкой, понятным интерфейсом и большим количеством сторонних инструментов, упрощающих работу с СУБД.
- Функциональные возможности, включающие большой набор инструментов для разработки проектов разной сложности.
- Безопасность, предопределенная встроенными защитными системами.
- Масштабируемость, позволяющая применять СУРБД для работы с любым объемом данных.
- Повышенная скорость работы.
- Частые обновления.
Примечание
MySQL используется в Google, GitHub, NASA, Tesla, Twitter и других компаниях.
Сравнение функций: в чем разница?
По данным DB-Engines (январь 2022 года), СУБД MySQL занимает второе место в рейтинге популярности СУБД, а PostgreSQL — четвертое.
Несмотря на общее назначение и принцип работы, СУБД имеют отличия.
| Особенность | MySQL | PostgreSQL |
| Open Source | Открытый исходный код, но принадлежащий Oracle | Открытый источник |
| Соответствие требованиям ACID | Частичное соответствие | Полное соответствие |
| Поддержка NoSQL/JSON | Поддержка некоторых функций | Только данных JSON |
| Декларативное секционирование | Поддерживаются | Поддерживаются |
| Логическая репликация | Поддерживаются | Поддерживаются |
| Оконные функции | Поддерживаются | Поддерживаются |
| Вложенные селекты | Да | Да |
| Транзакции | Да | Да |
| Триггеры | Да | Да |
| Возможность хранения только в памяти | Да | Нет |
Когда разработчики выбирают PostgreSQL
PostgreSQL больше подходит для ситуаций, когда:
- нужна поддержка внешних ключей, триггеров и представлений, позволяющих скрывать сложности БД от приложения для отказа от сложных команд SQL;
- важна возможность создания селектов (вложенных подзапросов);
- нужна возможность создания сложных команд SQL (за счет соответствия SQL-стандартам ANSI);
- важна целостность данных;
- требуется поддержка MVCC для предоставления одновременного доступа к базе данных большому количеству пользователей на чтение и запись;
- нужна поддержка NoSQL и разных типов данных;
- предполагается выполнение сложных процедур и расширение БД;
- планируется последующее перемещение БД на другое решение.
Когда разработчики выбирают MySQL
Есть несколько ситуаций, когда MySQL становится приоритетным вариантом для разработчиков. СУРБД выбирают, если:
- важна скорость работы с данными;
- нужно больше функций и возможностей;
- важна безопасность выполняемых операций и надежная защита доступа к данным;
- предполагается работа с сайтами и приложениями;
- нужна гибкость настройки и простота использования.
Что в итоге
PostgreSQL и MySQL — современные системы управления базами данных, которые считаются лидерами по популярности среди разработчиков. Каждая из них имеет сбалансированный набор функций, возможностей и преимуществ. При этом ввиду различий между СУБД их лучше применять для разных целей: PostgreSQL — для обработки сложных запросов и поддержки массивных баз данных, а MySQL — если нужна быстродействующая, понятная и легкая в управлении СУБД.
PostgreSQL и MySQL как самые популярные системы управления базами данных уже несколько лет назад обзавелись своими облачными версиями. При использовании облачной СУБД разработчик получает массу возможностей: большую надежность и отказоустойчивость системы, автоматическое резервное копирование, геораспределенное хранение и дополнительные инструменты безопасности, например, сервис для аудита и защиты баз данных Database Security Service. Сергей Кулаков Cтарший технический писатель SberCloud
Запросите бесплатную консультацию по вашему проекту
Postgresql и postgres в чем разница
Postgres Pro предоставляет наиболее актуальную версию PostgreSQL c дополнительными изменениями и расширениями. Этот продукт включает все новые возможности, реализованные компанией Postgres Professional, а также сторонние доработки, которые уже приняты сообществом PostgreSQL и попадут в новые версии PostgreSQL. Таким образом, пользователи Postgres Pro Standard получают ранний доступ к важным нововведениям и исправлениям.
Примечание
Postgres Pro Standard предоставляется по следующей лицензии: https://postgrespro.ru/products/postgrespro/eula. Обязательно ознакомьтесь с условиями лицензии, прежде чем загружать и использовать Postgres Pro Standard .
Postgres Pro Standard отличают от PostgreSQL следующие усовершенствования:
- Покрывающие индексы. (См. раздел, посвящённый INCLUDE , в описании CREATE INDEX .)
- Улучшенный механизм проверки блокировок, не оказывающий отрицательного влияния на производительность.
- Уменьшенное потребление памяти при обработке сложных запросов со множеством таблиц.
- Добавление времени планирования в информацию, выводимую модулем auto_explain.
- Возможность замены нулевого байта заданным ASCII-символом при загрузке данных с помощью команды COPY FROM . (См. описание параметра nul_byte_replacement_on_import.)
- Использование ICU на всех платформах с целью обеспечить платформонезависимую сортировку для различных локалей. По умолчанию провайдер правил сортировки icu задействуется для всех локалей, за исключением C и POSIX . (См. Подраздел 22.2.2.)
- Реализация механизма PTRACK, позволяющего программе pg_probackup отслеживать изменения страниц при создании инкрементальных резервных копий.
- Изменение параметров в recovery.conf без перезапуска сервера.
- Согласованное чтение на ведомых серверах. (См. WAITLSN .)
- Улучшения редактирования в командной строке с использованием WinEditLine в версии psql для Windows, в том числе поддержка автодополнение в консоли psql и изменение кодировки psql по умолчанию на UTF-8.
- Унифицированная структура пакетов двоичных файлов для всех дистрибутивов Linux, упрощающая миграцию между ними и позволяющая устанавливать несколько различных продуктов на базе PostgreSQL совместно без каких-либо конфликтов. (См. Главу 16.)
Postgres Pro Standard также включает следующие дополнительные модули:
- Модуль dump_stat , позволяющий сохранять статистику данных при резервном копировании и восстановлении.
- Модуль fasttrun , который предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, что предотвращает разрастание каталога pg_class .
- Модуль fulleq , предоставляющий дополнительный оператор равенства для совместимости с Microsoft SQL Server .
- Модуль hunspell-dict, предоставляющий словари для ряда языков.
- Модуль jsquery реализует специальный язык запросов для эффективного, с использованием индексов, поиска в структурированных данных JSONB
- Служба мониторинга mamonsu , исполненная в виде агента Zabbix .
- Модуль mchar , предоставляющий дополнительный тип данных для совместимости с Microsoft SQL Server .
- Модуль online_analyze , привносящий набор функций, которые немедленно обновляют статистику в целевых таблицах после операций INSERT , UPDATE , DELETE или SELECT INTO в них.
- Пул соединений pgbouncer .
- Модуль pg_pathman предоставляет оптимизированный механизм секционирования, а также функции для создания и управления секциями.
- pg_probackup — менеджер резервного копирования и восстановления.
- Утилита pgpro_controldata , показывающая управляющую информацию кластера БД PostgreSQL / Postgres Pro и параметры совместимости кластера и/или сервера.
- Модуль pg_query_state , дающий возможность узнавать текущее состояние выполнения запросов в обслуживающем процессе.
- Утилита pg_repack для реорганизации таблиц.
- Модуль pg_variables , предоставляющий функции для работы с переменными различных типов.
- Модуль pg_tsparser — альтернативный анализатор текстового поиска.
- Модуль plantuner , добавляющий поддержку указаний для планировщика, подключающих или отключающих определённые индексы при выполнении запроса.
- Модуль shared_ispell , позволяющий разместить словари в общей памяти.
- Модуль sr_plan , позволяющий сохранять и восстанавливать планы запросов.
Выпуски Postgres Pro Standard следуют за выпусками PostgreSQL , хотя иногда могут выпускаться чаще. Схема версионирования Postgres Pro Standard основана на схеме версионирования PostgreSQL и включает дополнительную цифру.
| Пред. | Наверх | След. |
| 1. Что такое Postgres Pro Standard ? | Начало | 3. Краткая история PostgreSQL |
Postgresql и postgres в чем разница
Postgres Pro предоставляет наиболее актуальную версию PostgreSQL c дополнительными изменениями и расширениями. Этот продукт включает все новые возможности, реализованные компанией Postgres Professional, а также сторонние доработки, которые уже приняты сообществом PostgreSQL и попадут в новые версии PostgreSQL. Таким образом, пользователи Postgres Pro Standard получают ранний доступ к важным нововведениям и исправлениям.
Примечание
Postgres Pro Standard предоставляется по следующей лицензии: https://postgrespro.ru/products/postgrespro/eula. Обязательно ознакомьтесь с условиями лицензии, прежде чем загружать и использовать Postgres Pro Standard .
Postgres Pro Standard отличают от PostgreSQL следующие усовершенствования:
- Улучшенный механизм проверки блокировок, не оказывающий отрицательного влияния на производительность.
- Увеличенная скорость и эффективность планирования для различных типов запросов.
- Уменьшенное потребление памяти при обработке сложных запросов со множеством таблиц.
- Добавление времени планирования в информацию, выводимую модулем auto_explain.
Возможность замены нулевого байта заданным ASCII-символом при загрузке данных с помощью команды COPY FROM . (См. описание параметра nul_byte_replacement_on_import.)
Postgres Pro Standard также включает следующие дополнительные модули и приложения:
- Расширение aqo для адаптивной оптимизации запросов.
- Модуль dump_stat , позволяющий сохранять статистику данных при резервном копировании и восстановлении.
- Модуль fasttrun , который предоставляет транзакционно-небезопасную функцию для усечения временных таблиц, что предотвращает разрастание каталога pg_class .
- Модуль fulleq , предоставляющий дополнительный оператор равенства для совместимости с Microsoft SQL Server .
- Модуль hunspell-dict, предоставляющий словари для ряда языков.
- Модуль jsquery , реализующий специальный язык запросов для эффективного поиска по индексу в структурированных данных JSONB.
- Служба мониторинга mamonsu , исполненная в виде агента Zabbix .
- Модуль mchar , предоставляющий дополнительный тип данных для совместимости с Microsoft SQL Server .
- Модуль online_analyze , привносящий набор функций, которые немедленно обновляют статистику в целевых таблицах после операций INSERT , UPDATE , DELETE или SELECT INTO в них.
- pgbadger — инструмент для быстрого анализа журналов Postgres Pro с созданием подробных отчётов и графиков.
- Пул соединений pgbouncer .
- Модуль pg_integrity_check , осуществляющий вычисление и проверку контрольных сумм отслеживаемых файлов. (Только сертифицированная редакция.)
- Модуль pg_pathman предоставляет оптимизированный механизм секционирования, а также функции для создания и управления секциями. Начиная с Postgres Pro 12, использовать pg_pathman не рекомендуется. Применяйте вместо него реализованное в ванильной версии декларативное секционирование, описанное в Разделе 5.11.
- Расширение pg_proaudit , позволяющее отслеживать различные события, связанные с безопасностью.
- pg_probackup — менеджер резервного копирования и восстановления.
- Утилита pgpro_controldata , показывающая управляющую информацию кластера БД PostgreSQL / Postgres Pro и параметры совместимости кластера и/или сервера.
- Расширение pgpro_pwr , позволяющее получать отчёты по нагрузке, полезные для выявления наиболее ресурсоёмких операций в базе данных.
- Расширение pgpro_stats, которое собирает статистику выполнения SQL-операторов, подсчитывает статистику событий ожидания и предоставляет прочие полезные метрики, которые в PostgreSQL нельзя получить никак иначе. Оно также обеспечивает возможность трассировки сеансов приложений и может создавать представления, эмулирующие другие расширения для сбора статистики.
- Модуль pg_query_state , дающий возможность узнавать текущее состояние выполнения запросов в обслуживающем процессе.
- Утилита pg_repack для реорганизации таблиц.
- Модуль pg_tsparser — альтернативный анализатор текстового поиска.
- Модуль pg_variables , предоставляющий функции для работы с переменными различных типов.
- Расширение pg_wait_sampling , предназначенное для периодического сбора статистики по событиям ожидания. Воспользовавшись этим расширением, вы сможете понять характер активности сервера, в том числе увидеть текущие события ожидания во всех обычных и фоновых рабочих процессах.
- Модуль plantuner , добавляющий поддержку указаний для планировщика, подключающих или отключающих определённые индексы при выполнении запроса.
- Модуль rum , предоставляющий индекс RUM на базе GIN.
- Модуль shared_ispell , позволяющий разместить словари в общей памяти.
Выпуски Postgres Pro Standard следуют за выпусками PostgreSQL , хотя иногда могут выпускаться чаще. Схема версионирования Postgres Pro Standard основана на схеме версионирования PostgreSQL и включает дополнительную цифру.
| Пред. | Наверх | След. |
| 1. Что такое Postgres Pro Standard ? | Начало | 3. Краткая история PostgreSQL |