4 ms·
Pros and Cons depend largely on what you're hoping to use your DB for and how you intend to deploy/administer it. Feature-wise, Postgres has a break-neck speed
by jballanc 10y ago
Pros and Cons depend largely on what you're hoping to use your DB for and how you intend to deploy/administer it. Feature-wise, Postgres has a break-neck speed of new feature adoption compared to MySQL. That could be a Pro or a Con depending on your perspective. If you're dying to try out deep indexing of JSON columns in your SQL DB, then you definitely want Postgres. If you need something stable and reliable, then MySQL might be a better choice.
Not to be trite, but I think the biggest high-level Pro/Con comes down to this: Postgres has the more active OSS community, MySQL has Percona. Seriously, if you're in a situation where you have the option of spending money to solve problems, then having the option of hiring Percona to fix your problems alone makes MySQL a sound decision. If you don't have a large cash reserve, but are willing to spend time combing through message boards and blog posts, pick Postgres.
- Someone 10y ago"you need something stable and reliable, then MySQL might be a better choice." Thats not what I have heard of and experienced with postgreSQL. Its feature set isn't stable in the sense that they add new features all the time, but it is stable in the sense that features that are present stay. They carefully consider features before committing to adding them (example: upset support) I also haven't heard of unreliability claims w.r.t. PostgreSQL, certainly not more than with MySQL. Also, MySQL's deviations from the SQL standard (silently chopping data of long strings to fit them in the database, for example) for me are a cause for concern.
- JamesMcMinn 10y agoYou seem to imply that Postgres isn't stable when in the fact the very opposite is true. Postgres is one of, if not the, most safe and stable relation database systems to ever exist. The fact that they keep adding or improving features does not take away from this, it only means that you have the option to upgrade if you want the new features.
- egeozcan 10y ago> Postgres is one of, if not the, most safe and stable relation database systems to ever exist. I would even say that it's one of the most safe and stable software to ever exist.
- fnord123 10y agoYou're trying to be even handed but you can hire Enterprise DB or 2nd Quadrant to fix Postgres issues if you run into them so I don't think the benefit for MySQL is there. The benefit of MySQL is that partitioning the database is much easier to do than in Postgres. There are also cons to mysql in how it handles data by default (silent coercion, not checking for invalid data like invalid dates, strings too long get truncated, etc.)
- grey-area 10y agoIf you need something stable and reliable, then MySQL might be a better choice. In my experience, this is unfounded. The Postgresql project is far more careful about data corruption and correctness. A few examples: Mysql used to truncate records silently (I think this was fixed a while back with strict mode) Mysql used to let you insert nonsense like 'notadate' into dates (now fixed I think with strict mode, is it in default?) Data corruption - I've seen data corruption in Mysql when a server was rebooted which led to the server being unable to read the database data, and required a repair before it would restart. I've never seen something similar with Postgresql. Postgresql have added features at a steady rate, they've been quite measured in their approach to new features, particularly in point releases. 'Break-neck' is not a good characterisation of that process. For stable and reliable I'd recommend Postgresql over Mysql without hesitation.