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!