Steve, j'ai dû migrer mon ancienne application en sens inverse, c'est-à-dire PgSQL->MySQL. Je dois dire que vous devriez vous considérer comme chanceux ;-) Les pièges les plus courants sont :
- SQL est en fait assez proche du langage standard, vous pouvez donc souffrir du dialecte de MySQL que vous connaissez déjà
- MySQL tronque discrètement les varchars qui dépassent la longueur maximale, alors que Pg se plaint - une solution rapide consiste à avoir ces colonnes en tant que "texte" au lieu de "varchar" et à utiliser des déclencheurs pour tronquer les longues lignes
- des guillemets doubles sont utilisés à la place des apostrophes inversées
- les champs booléens sont comparés à l'aide des opérateurs IS et IS NOT, cependant INT(1) compatible avec MySQL avec =et <> est toujours possible
- il n'y a pas de REPLACE, utilisez la combinaison DELETE/INSERT
- Pg est assez strict sur l'application de l'intégrité des clés étrangères, alors n'oubliez pas d'utiliser ON DELETE CASCADE sur les références
- si vous utilisez PHP avec PDO, n'oubliez pas de passer un paramètre à la méthode lastInsertId() - il doit s'agir du nom de la séquence, qui est généralement créé de cette façon :[tablename]_[primarykeyname]_seq
J'espère que cela aide au moins un peu. Amusez-vous bien avec Postgres !