I’m thinking about moving from MySQL to Postgres for Rails development and I just want to hear what other developers that made the move have to say about it.
I’m looking for personal experiences, not a Mysql v Postgres shootout, just the pros and cons that you yourself have arrived at. Stuff that folks might not necessarily think.
Feel free to explain why you moved in the first place as well.
I made the switch and frankly couldn’t be happier. While Postgres lacks a few things of MySQL (Insert Ignore, Replace, Upsert stuff, and Load Data Infile for me mainly), the features it does have MORE than make up. Its stored procedures are so much more powerful and it’s far easier to write complex functions and aggregates in Postgres.
Performance-wise, if you’re comparing to InnoDB (which is only fair because of MVCC), then it feels at least as fast, possibly faster – we weren’t able to do some real measurements here due to some constraints, but there certainly hasn’t been a performance issue. The complex queries with several joins are certainly faster, MUCH faster.
I find you’re more likely to get the correct answer to your issue from the Postgres community. Everybody and their grandmother has 50 different ways to do something in MySQL. With Postgres, hit up the mailing list and you’re likely to get lots of very very good help.
Any of the syntax and the like differences are a bit trivial.
Overall, Postgres feels a lot more “grown-up” to me. I used MySQL for years and I now go out of my way to avoid it.