I've started using postgres at work after a decade of mysql
My expectations were that postgres had a better query engine that was able to make more advanced plans
Operationally it sounded easier to shard mysql, I thought they were the main trade offs
In reality I have been puzzled at the query planner in postgres, rewriting queries to be equivalent (to me at least) causes wildly different plans
Coaxing the engine to use an index is much harder, if not impossible in postgres so far
JSON support seems better but overall that encourages their use which has pros and cons but can definitely hinder schema reading
So far it's not much greener for me on the otherside of the fence, going to continue to evaluate datomic and miss sequel pro, table plus is ok but weird in places
I'm puzzled by your statement that "Coaxing the engine to use an index is much harder, if not impossible in postgres so far". If this were true it would make Postgres pretty much unusable for any non-toy applications, which is clearly not the case. I'm assuming there are some qualifiers missing from this statement.
Oh and as a Clojure developer it's annoying that I have to start caring about types again
I'm surprised that's not bought up more in hacker news conversations
Postgres is very picky type wise when you construct comparisons, which can often involve casting when dealing with the edges of a JSON blob and bleed through sub queries which can mean indirect type errors
Read it as having to care about strict types as opposed to compatible types. Sort of like array broadcasting or casting bools to other numeric types or applying a bitwise xor to 32-bit floats -- if two types are obviously compatible with the operation I'm trying to do to them it's often nice to allow the implicit cast.
My expectations were that postgres had a better query engine that was able to make more advanced plans
Operationally it sounded easier to shard mysql, I thought they were the main trade offs
In reality I have been puzzled at the query planner in postgres, rewriting queries to be equivalent (to me at least) causes wildly different plans
Coaxing the engine to use an index is much harder, if not impossible in postgres so far
JSON support seems better but overall that encourages their use which has pros and cons but can definitely hinder schema reading
So far it's not much greener for me on the otherside of the fence, going to continue to evaluate datomic and miss sequel pro, table plus is ok but weird in places