 <p>Steve, I had to migrate my old application the way around, that is PgSQL->MySQL. I must say, you should consider yourself lucky ;-) Common gotchas are:</p> <ul> <li>SQL is actually pretty close to language standard, so you may suffer from MySQL's dialect you already know</li> <li>MySQL quietly truncates varchars that exceed max length, whereas Pg complains - quick workaround is to have these columns as 'text' instead of 'varchar' and use triggers to truncate long lines</li> <li>double quotes are used instead of reverse apostrophes</li> <li>boolean fields are compared using IS and IS NOT operators, however MySQL-compatible INT(1) with = and &lt;> is still possible</li> <li>there is no REPLACE, use DELETE/INSERT combo</li> <li>Pg is pretty strict on enforcing foreign keys integrity, so don't forget to use ON DELETE CASCADE on references</li> <li>if you use PHP with PDO, remember to pass a parameter to lastInsertId() method - it should be sequence name, which is created usually this way: [tablename]_[primarykeyname]_seq</li> </ul> <p>I hope that helps at least a bit. Have lots of fun playing with Postgres!</p>