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

Passer de MySQL à PostgreSQL - trucs, astuces et pièges ?

Je viens de traverser ça moi-même, et bien je le suis toujours...

  • Texte sensible à la casse
  • Manque de INSERT IGNORE et REPLACE
  • Casting explicite requis presque partout
  • Pas de backticks
  • LOAD DATA INFILE (COPY est proche, mais pas assez)
  • Modifier l'autoincrement vers SERIAL
  • Bien que de mauvaise forme dans MySQL, dans Postgres, un INNER JOIN sans ON la clause ne peut pas se produire, utilisez CROSS JOIN ou similaire
  • COUNT(*) peut être incroyablement lent
  • Les bases de données sont encodées avec des jeux de caractères, pas des tables
  • Vous pouvez avoir plusieurs bases de données, avec plusieurs schémas (MySQL n'a en réalité qu'une seule base de données et plusieurs schémas)
  • Le partitionnement est différent
  • MySQL interval vs Postgres interval (pour les intervalles de temps)
  • Renommage implicite des colonnes, Postgres nécessite AS
  • Impossible de mettre à jour plusieurs tables en même temps dans Postgres
  • Les fonctions Postgres sont puissantes. Il n'y a donc pas de CALL proc();; réécrire proc() en tant que fonction et SELECT proc(); .