Steve, ik moest mijn oude applicatie de andere kant op migreren, dat is PgSQL->MySQL. Ik moet zeggen dat je jezelf gelukkig mag prijzen;-) Veelvoorkomende valkuilen zijn:
- SQL komt eigenlijk vrij dicht bij de taalstandaard, dus u kunt last hebben van het MySQL-dialect dat u al kent
- MySQL kapt stilletjes varchars af die de maximale lengte overschrijden, terwijl Pg klaagt - een snelle oplossing is om deze kolommen als 'tekst' in plaats van 'varchar' te gebruiken en triggers te gebruiken om lange regels af te kappen
- dubbele aanhalingstekens worden gebruikt in plaats van omgekeerde apostrofs
- booleaanse velden worden vergeleken met behulp van IS en IS NOT operators, maar MySQL-compatibele INT(1) met =en <> is nog steeds mogelijk
- er is geen REPLACE, gebruik de DELETE/INSERT combo
- Pg is behoorlijk streng in het afdwingen van de integriteit van buitenlandse sleutels, dus vergeet niet ON DELETE CASCADE te gebruiken voor referenties
- als je PHP met PDO gebruikt, vergeet dan niet om een parameter door te geven aan de lastInsertId()-methode - het moet de reeksnaam zijn, die meestal op deze manier wordt gemaakt:[tabelnaam]_[naam primaire sleutel]_seq
Ik hoop dat dat in ieder geval een beetje helpt. Veel plezier bij het spelen met Postgres!