Porting a working MySQL schema to PostgreSQL is rarely a find-and-replace. The SQL standard leaves enough room that the two engines disagree on quoting, types, upserts, and pagination β€” and most of the disagreements fail at runtime, not at parse time. Here are the seven that cost me the most time. 1. Identifier quoting is not the same character MySQL uses backticks, PostgreSQL uses double quotes (which is the ANSI standard): SELECT `order` FROM orders ; ...