The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен openHalo, инструментарий для миграции с MySQL на PostgreSQL

04.04.2025 13:13

Опубликован код инструментария openHalo, предоставляющего прослойку для упрощения переноса приложений, изначально написанных для MySQL, на использование СУБД PostgreSQL. Проект выполнен в виде прокси, прозрачно транслирующего запросы к MySQL в запросы к PostgreSQL и выполняющий обратное преобразование для ответов. Проект написан на языке Си и распространяется под лицензией GPLv3.

В openHalo поддерживаются SQL-диалект и коммуникационный протокол MySQL, что позволяет перевести на PostgreSQL приложения, написанные для MySQL, с минимальными изменениями или без изменения кода. В сочетании с openHalo могут использоваться типовые утилиты, команды и драйверы MySQL.



  1. Главная ссылка к новости (https://www.postgresql.org/abo...)
  2. OpenNews: Один из разработчиков MySQL раскритиковал проект и рекомендовал использовать PostgreSQL
  3. OpenNews: Релиз СУБД PostgreSQL 17
  4. OpenNews: Microsoft открыл код СУБД DocumentDB, основанной на PostgreSQL
  5. OpenNews: Релиз FerretDB 2.0, реализации MongoDB на базе СУБД PostgreSQL
  6. OpenNews: Выпуск СУБД MySQL 9.2.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63020-openhalo
Ключевые слова: openhalo, postgresql, mysql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, User (??), 14:13, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пахнуло selta'ой от ethersoft, ЕВПОЧЯ...
     
     
  • 2.40, Анонимизующийся (?), 01:01, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    контора, которая нанимает студентов, чтобы не платить им зп
     

  • 1.3, Ося Бендер (?), 14:13, 04/04/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –9 +/
     
  • 1.4, Пароль Пароль (?), 14:18, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    первый раз пишу такой комментарий!

    зачем оно?
    MySQL - самая лучшая база в мире!

     
     
  • 2.5, Аноним (5), 14:29, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://db-engines.com/en/ranking
     
     
  • 3.7, fyjybv (?), 15:08, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    FoxPro, Paradox нету. Видел даже вакансию для разработчика FoxPro.
     
     
  • 4.43, Пенсионный фонд РФ (?), 02:02, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Социальный фонд с 1 апреля проиндексирует пенсии по государственному пенсионному обеспечению, включая социальные пенсии, на 14,75 процента – в соответствии с ростом прожиточного минимума пенсионера за прошлый год. Повышение затронет 4,2 миллиона пенсионеров, среди которых 3,5 миллиона получателей социальной пенсии. Большинству пенсионеров она выплачивается в связи с инвалидностью и потерей кормильца.
     
  • 3.20, Илья (??), 18:22, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А чего там монго-биби делает?
     
  • 2.11, 223 (?), 16:45, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мария, которая DB, как и оригинальный мускуль не отличается эффективностью,недавно на пет-проекте начались дропы данных, мария тупо не успевала обновлять данные если параллельно на ноде шли бэкапы, добавляли индексы к таблицам еще какие-то оптимизации, бестолку, обьем данных по чуть-чуть тоже рос, ..переползли на на посгресс, проблемы исчезли, хотя конечно с посгрессом тоже пришлось потанцевать. Мария сильно проще это факт.
     
     
  • 3.13, Аноним (13), 17:05, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле — «не успевала»?
    В чём конкретно это выражалось?
     
  • 3.15, Аноним (15), 17:16, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    сначала выберут негодный инструмент, а потом свмотрят на свои яйца, не мешают ли
     
     
  • 4.18, FSA (??), 17:36, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > сначала выберут негодный инструмент

    Правильно. Сразу бы взяли PostgreSQL, проблем бы не знали

     
     
  • 5.36, tty2 (?), 22:11, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    По моему опыту - бек не смог в транзакции. Ну а "дропами" назвали отвалы запросов по таймауту.
    И да, лить данные во время бекапа на мастере тот ещё профессионализм.
    Был бы постгресс - бюджет был на оборудование +50%…
     
  • 3.24, Ъ (?), 19:26, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ionice
     

  • 1.8, opennetuser (ok), 15:33, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Для Wordpress кто-то пробовал юзать?
     
     
  • 2.21, Аноним (21), 19:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Официально WP не поддерживает postgresql.
     
     
  • 3.34, Аноним (34), 21:46, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Именно для этого и можно воспользоваться сабжем.
     

  • 1.9, BorichL (ok), 16:07, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну как бы забавно. Ну наверно для работы с базой, где 10 тысяч ХеллоВордов в табличках просто лежит пригодится.
    Но в остальном то если приложение написано под такую убогую СУБД как MySQL, то зачем ему прослойка под монструозный PostgreSQL, пусть так и долбится в этом примитиве... Чтобы поиметь плюсы от перехода с MySQL на PostgreSQL, то сохранить структуру таблиц базы наверно удастся (если она изначально была толковой), но всё остальное придётся переработать полностью.
     
     
  • 2.14, Аноним (13), 17:07, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы запустить какую-нибудь небольшую фигню, написанную для mysql, в среде, где есть большой и задорого обслуживаемый постгрес, а ни специалистов, ни желания возиться с mysql нет.
     
  • 2.22, пох. (?), 19:21, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну как бы забавно. Ну наверно для работы с базой, где 10 тысяч ХеллоВордов в табличках
    > просто лежит пригодится.

    такой базе и кривовраппер не нужен - просто драйвер с mysql на pdo-pgsql сменить.
    (вроде в посгре даже ж научились имитировать mysql'евые автоинкременты, а не select from sequence?)

    > то зачем ему прослойка под монструозный PostgreSQL

    вот и я тоже не пойму, что там такого может быть что под постгрезом требует трансляции (и при этом еще и может быть странслировано, а не ой тут такой фигни просто не бывает)

    Ну, видимо, пацаны чо-та знают.

     
     
  • 3.27, BorichL (ok), 19:39, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > вот и я тоже не пойму, что там такого может быть что
    > под постгрезом требует трансляции (и при этом еще и может быть
    > странслировано, а не ой тут такой фигни просто не бывает)
    > Ну, видимо, пацаны чо-та знают.

    Ну вот что с ходу нашёл, что может нередко использоваться:

    MySQL Syntax:
    SELECT column_name(s) FROM table_name ORDER BY column_name(s) WHERE condition LIMIT number;

    Oracle 12 Syntax:
    SELECT column_name(s) FROM table_name ORDER BY column_name(s) FETCH FIRST number ROWS ONLY;

    Названия функций, работающих с датами, отличаются, ну вобщем совместимость как всегда так себе.
    Но основная проблема таких прокси в том, что оптимизаторы запросов работают абсолютно по разному и транслированный запрос, "летающий" на исходном сервере, может тупить на другом.

     
     
  • 4.37, пох. (?), 22:27, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    так то орацл.
    Постгрез умеет в LIMIT Б-г ведает сколько лет (он еще и в OFFSET умеет)

    Правда, есть некоторые сомнения как раз в плане того что оптимизатору это понравится, но тут транслятор вряд ли чем поможет.

     

  • 1.10, Аноним (10), 16:28, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Годнота, репозиторий моего дистрибутива GNU/Linux хранит информацию о пакетах в базе данных MySQL/MariaDB. Теперь желающие поиграться смогут испосльзовать СУБД PostgreSQL.
     
  • 1.32, Аноним (32), 20:28, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть инструмент для миграции с одной версии PostgreSQL на другую? Без дампов, подъёмов одновременно двух инстансов разных версий и прочих развлечений, не свойственных взрослым людям?
     
     
  • 2.38, пох. (?), 22:29, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А есть инструмент для миграции с одной версии PostgreSQL на другую? Без
    > дампов, подъёмов одновременно двух инстансов разных версий и прочих развлечений, не
    > свойственных взрослым людям?

    взрослым людям несвойственно на ходу мигрировать на аж другую ветку базы, не имея даже плана Б на случай если что-то пойдет не так.

     
     
  • 3.42, Аноним (32), 01:36, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    План Б, конечно, есть. Вопрос в сложности реализации плана А.

    Ну и отдельно вспомним про машины разработчиков, где план Б - это просто почистить базу и из миграций создать новую. Можно, конечно, сбрасывать базу при !каждом! обновлении, но mysql, с которого предлагается мигрировать в новости, позволяет жить проще.

     
  • 2.39, Аноним (39), 23:13, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    pg_upgradecluster в смысле?
     
     
  • 3.41, Аноним (32), 01:33, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я правильно понял, что оно требует, чтобы обе версии postgresql были установлены одновременно: и старая, и обновлённая?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру