Двадцатилетняя проблема MySQL: повод перейти на PostgreSQL

Обновлено: 25 августа, 2025

Среди разработчиков баз данных уже много лет продолжаются обсуждения, касающиеся серьёзной неисправности в MySQL — триггеры не выполняются после обновлений или удалений внешних ключей. Впервые этот баг был заявлен в июне 2005 года и еще более удивительно, что он остается неисправленным уже 20 лет спустя.

Триггеры, являясь важным средством обеспечения целостности данных, должны автоматически запускаться в ответ на действия обновления или удаления записей. Однако в MySQL известная проблема того, что каскадные действия внешних ключей не активируют эти механизмы, всё еще актуальна.

Реакция сообщества и последствия

После первоначального признания проблемы командой MySQL, ожидалось, что она будет устранена в версии 5.1, однако этого не произошло. Руководство по MySQL документирует, что каскадные действия действительно не активируют триггеры, и это вызывает серьёзные угрозы для ACID-интегритета. Пользователи неоднократно обращали внимание на проблему, в том числе в 2015 и 2020 годах, указывая на её долговечность.

С приобретением MySQL корпорацией Oracle в 2010 году, надежды на исправление багов возросли. Тем не менее, многие считают, что отсутствие действий по исправлению со стороны Oracle — это пренебрежение, особенно с учётом стратегической важности проектов для индустрии. В то время как MySQL остаётся популярным продуктом, его распространение, по данным DB-Engines, постепенно сокращается, в то время как PostgreSQL наоборот набирает популярность.

  • Несколько разработчиков перешли на PostgreSQL, указывая на этот баг как на последнюю каплю.
  • MariaDB, ответвление MySQL, также не решила данную проблему.
  • Ситуация порождает шутки о том, что подобное поведение уже можно считать «фичей» MySQL.

Стоит отметить, что в свете недавних дискуссий, выбор между MySQL и PostgreSQL становится всё более значимым среди разработчиков, стремящихся к надежности и целостности базы данных. Тем временем, Percona и её основатель Питер Зайцев указывают на недостаточную поддержку MySQL в инженерии производительности и предостережение от возможных рисков в облачных возможностях, таких как Heatwave от Oracle.

Опубликовано: 25 августа, 2025

ЕЩЕ СТАТЬИ ПО ДАННОЙ ТЕМЕ

Postgres и Kubernetes: будущее корпоративных приложений

Переход на Postgres и Kubernetes ускоряет модернизацию приложений и применение AI. Компании ищут решения для улучшения производительности и внедрения искусственного интеллекта, отказываясь от устаревших монолитных систем.

Читать далее »

Поддержка Postgre SQL

Поддержка — это когда у вас возникает техническая
проблема с существующей системой,
и вам необходимо некоторое руководство