PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Migrer de MySQL vers PostgreSQL

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 !