В настоящее время мы используем MySQL для разрабатываемого продукта и стремимся как можно скорее перейти на PostgreSQL, в первую очередь по причинам лицензирования.
Кто-нибудь еще сделал такой ход? Наша база данных является источником жизненной силы приложения и в конечном итоге будет хранить ТБ данных, поэтому я очень хочу услышать об опыте повышения / снижения производительности, основных препятствиях при преобразовании SQL и хранимых процедур и т. д.
Обновлено: просто чтобы прояснить для тех, кто спросил, почему нам не нравится лицензирование MySQL. Мы разрабатываем коммерческий продукт, который (в настоящее время) зависит от MySQL как серверной части базы данных. В их лицензии указано, что мы должны платить им процент от нашей прейскурантной цены за установку, а не фиксированную плату. Для стартапа это не очень привлекательно.
Воспроизведение может быть проблемой у вас. MySQL поддерживает это из коробки.






Стив, мне пришлось перенести мое старое приложение в другую сторону, то есть PgSQL-> MySQL. Надо сказать, тебе повезло :-) Распространенные ошибки:
Я надеюсь, что это хоть немного поможет. Удачи вам в игре с Postgres!
Я сделал аналогичное преобразование, но по другим причинам. Это было связано с тем, что нам нужна была улучшенная поддержка ACID и возможность предоставить пользователям Интернета те же данные, что и с помощью других инструментов БД (один идентификатор для обоих).
Вот что нас укусило:
Тем не менее, как только он был установлен и протестирован, он стал намного лучше. При правильной блокировке по соображениям безопасности и интенсивном одновременном использовании PostgreSQL работает лучше, чем MySQL. В тех случаях, когда блокировка не требовалась (только для чтения), производительность была не такой хорошей, но она все равно была быстрее сетевой карты, так что это не было проблемой.
Подсказки:
Мы перешли с MySQL3 на PostgreSQL 8.2, а затем на 8.3. PostgreSQL имеет основы SQL и многое другое, поэтому, если ваш MYSQL не использует причудливые вещи MySQL, все будет в порядке.
По моему опыту, наша база данных MySQL (версия 3) не имеет внешнего ключа ... PostgreSQL позволяет вам иметь их, поэтому нам пришлось это изменить ... и это было хорошо, и мы обнаружили некоторую ошибку.
Еще нам пришлось изменить коннектор кодирования (C#), который отличался от MySQL. MySQL был более стабильным, чем PostgreSQL. У нас по-прежнему мало проблем с PostgreSQL.
"Postgresql", "PostGreSql", "PostGresql" => "PostgreSQL" ;-)
Вздох. Девять голосов за комментарий, но никто не пошел и не внес правки. Будьте наделены полномочиями, справедливые пользователи StackOverflow!
Здесь есть несколько хороших технических статей по этой теме: wiki.postgresql.org/wiki/…