Мы переносим MySQL на PostgreSQL. Я легко могу проверить схему и операторы SQL, используемые в программе (REALbasic). Большая часть SQL состоит из строковых переменных.
Я уже знаю о необходимости заменить наше использование SELECT LAST_INSERT_ID()
на столбец SERIAL с ограничением UNIQUE.
Что, , если есть , различия между двумя, которые не , очевидно, видимые в выражениях SQL, могут укусить нас? Я ищу (возможно, тонкие) предположения о поведении, такие как любые различия в автоматической фиксации, необходимо добавить ограничения, которых нет в MySQL и т.д.
Я пытаюсь подсказать какие-нибудь ошибки для пары достаточно умных, внимательных парней, которые не являются гуру ни в одной из баз данных.
Это одностороннее обязательство, поэтому, если мы получим существенные преимущества, добавив новые декларации, я бы их оценил.
Примечание: мы не используем какую-либо форму параметризованных запросов и, да, я указал на проблемы с атаками внедрения как обязательный аудит кода.
Да, для любопытных это решение было вызвано проблемами GPL, не потому, что мы не склонны платить за лицензии, но, к сожалению, единственным драйвером REALbasic для MySQL была GPL. По состоянию на май 2009 года Real Software выпустила новый драйвер сообщества, который является GPL, и правильно включает в себя источник. В ближайшем будущем они пообещали не корпоративный драйвер GPL.
Я готов поверить, что ответ может быть под кроватью нет невидимых монстров , но я решил попросить об этом.