PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Migration von MySQL zu PostgreSQL

Steve, ich musste meine alte Anwendung umgekehrt migrieren, also PgSQL->MySQL. Ich muss sagen, Sie sollten sich glücklich schätzen;-) Häufige Fallstricke sind:

  • SQL ist eigentlich ziemlich nah am Sprachstandard, also leiden Sie vielleicht unter dem Dialekt von MySQL, den Sie bereits kennen
  • MySQL kürzt varchars, die die maximale Länge überschreiten, stillschweigend, während Pg sich beschwert – eine schnelle Problemumgehung besteht darin, diese Spalten als 'text' statt 'varchar' zu verwenden und Trigger zu verwenden, um lange Zeilen abzuschneiden
  • Anstelle von umgekehrten Apostrophen werden doppelte Anführungszeichen verwendet
  • boolesche Felder werden mit IS- und IS NOT-Operatoren verglichen, MySQL-kompatibles INT(1) mit =und <> ist jedoch weiterhin möglich
  • es gibt kein REPLACE, verwenden Sie die DELETE/INSERT-Kombination
  • Pg erzwingt die Integrität von Fremdschlüsseln ziemlich streng, vergessen Sie also nicht, ON DELETE CASCADE für Referenzen zu verwenden
  • Wenn Sie PHP mit PDO verwenden, denken Sie daran, einen Parameter an die Methode lastInsertId() zu übergeben - es sollte der Sequenzname sein, der normalerweise so erstellt wird:[tablename]_[primarykeyname]_seq

Ich hoffe das hilft wenigstens ein bisschen. Viel Spaß beim Spielen mit Postgres!