PostgreSQL
самые полезные функции (которых MySQL
не хватает), на мой взгляд, являются:
generate_series
и установить возвращаемые функции в целом
- возможность использования коррелированных значений в
LIMIT
и OFFSET
предложениях
- Пользовательские агрегаты
DISTINCT ON
пункт
- Более продвинутые
JOIN
методы (MERGE JOIN
и HASH JOIN
)
С ними можно творить чудеса.
PostgreSQL
код также часто выглядит более элегантно (обратите внимание, что «выглядит» не означает «выполняет»), так как вы можете использовать хороший синтаксис приведения (::
), хороший RECORD
тип и тому подобное .
Недостатки:
- Вы не можете использовать подсказки (я знаю, что это преднамеренно; я знаю, что их следует избегать; иди, проголосуй за меня)
- Вы не можете использовать переменные сеанса без доступа к файлам конфигурации сервера (вам нужно установить
custom_variable_classes
)
DISTINCT
и GROUP BY
операции запаздывают.
Поскольку обе эти системы достаточно мощные и хорошо развиты, они отличаются в основном такими необычными функциями (которые большинство разработчиков даже не используют).
Для базовых SQL
они оба хороши.