> MySQL is case-insensitive by default. Postgres is case-sensitive by default.<p>Minor quibble:<p>If you don't quote identifiers, they are case-insensitive in Postgres. (Case folding to lowercase by default, which ends up being a distinction without a difference.) SQL keywords are always case-sensitive. If you put double quotes around them though, the identifiers preserve case.<p><pre><code> SELECT * FROM "foo";
</code></pre>
is the same as<p><pre><code> SELECT * FROM foo;
</code></pre>
is the same as<p><pre><code> SELECT * FROM Foo;
</code></pre>
But this next one will tell you it doesn't know which table you're talking about:<p><pre><code> SELECT * FROM "Foo";
</code></pre>
Unless you made the table that way:<p><pre><code> CREATE TABLE "Foo" ();
</code></pre>
In which case only the last SELECT example will work.