Avant de convertir, réglez votre MySQL à la norme ANSI-en démarrant le rigueur serveur avec: --transaction-isolation = SERIALIZABLE --sql mode = ANSI
Assurez-vous de ne pas utiliser les tables MyISAM. MySQL permet beaucoup de conversions qu'il ne devrait pas; pg nécessitera un casting.
Vos procédures, fonctions et triggers stockés devront être réécrits. pg vous donne un choix de langues pour celles-ci, mais vous devez installer les langues; ce n'est pas aussi convivial que MySQL. Pg autorisera seulement dans une liste de sélection les colonnes qui sont dans un groupe par ou sont des agrégats; MySQL va tricher en sélectionnant la première valeur dans le groupe si vous faites cela.
MySQL ajoute un tas d'extensions: l'opérateur sans égal peut être !=
comme en C, il permet « & & » comme synonyme de « et », « || » pour 'ou' etc. En particulier, pg utilise '||' pour signifier caténation de cordes.
Fondamentalement, pg est assez strictement ANSI, MySQL n'est pas. Je suggère fortement d'obtenir une conformité ANSI aussi stricte que possible avant de passer en pg, puis de vérifier les éventuels avertissements lorsque vous exécutez vos applications.
Juste une note: ceci n'est pas réellement relié aux nouvelles au sujet d'Oracle et de Sun. J'ai une application Rails qui nécessite plusieurs bases de données et qui cherche à utiliser les schémas PostgreSQL. –
Voir: http://stackoverflow.com/questions/724867/how-different-is-postgresql-to-mysql – vartec