MySQL has a lot of non-standard behaviour. Using ` to quote a field name instead of ", allowing " to quote a value when the SLQ spec only allows ', and the list tends to get long after that. Basically, it's easier to port FROM postgresql to mysql because Postgresql will likely make you "do it right" while MySQL will let you do it wrong, and then it won't port. Another example is MySQL's allowing you to select a target column in a grouped query without aggregating or grouping said column:
select field1, field2 from table1 group by field1
is "legal" in MySQL, while both the SQL spec and Postgresql claim it is an illegal query. After all, which field2 entry do you want / get with that query? No one knows.
MySQL has an enumerated type that is not mirrored in most other databases, including postgresql.
Lastly, Postgresql has a windows port well under way, so you can start now with cygwin (performance is pretty mediocre under cygwin, but it works pretty well) and migrate to the native version some time this summer. For info on the Postgresql - windows port, go here:
http://momjian.postgresql.org/main/writings/pgsql/project