Steve, jag var tvungen att migrera min gamla applikation, det vill säga PgSQL->MySQL. Jag måste säga att du bör betrakta dig själv som lycklig;-)Vanliga godchas är:
- SQL är faktiskt ganska nära språkstandarden, så du kan lida av MySQL:s dialekt som du redan känner till
- MySQL trunkerar tyst varchar som överskrider maxlängden, medan Pg klagar - en snabb lösning är att ha dessa kolumner som "text" istället för "varchar" och använda triggers för att trunkera långa rader
- dubbla citattecken används istället för omvända apostrof
- booleska fält jämförs med IS- och IS NOT-operatorer, men MySQL-kompatibel INT(1) med =och <> är fortfarande möjlig
- det finns ingen ERSÄTT, använd kombinationen DELETE/INSERT
- Pg är ganska strikt när det gäller att upprätthålla integritet för främmande nycklar, så glöm inte att använda ON DELETE CASCADE på referenser
- om du använder PHP med PDO, kom ihåg att skicka en parameter till metoden lastInsertId() - det ska vara sekvensnamn, vilket vanligtvis skapas på följande sätt:[tabellnamn]_[primärnyckelnamn]_seq
Jag hoppas att det hjälper åtminstone lite. Ha mycket kul när du spelar med Postgres!