Live data from Hacker News

PostgreSQL 9.0 Final Release Available Now

postgresql.org

11–20 of 26 posts

Re: PostgreSQL 9.0 Final Release Available Now

#11

Can anybody point to a good discussion about the strengths and weaknesses of PostgreSQL relative to MySQL? Or can you weigh in briefly about the tradeoffs between the two? EDIT: Okay, must've touched a few nerves there. Sorry. Question was asked in earnest.

Historically, MySQL has focused on ease of use, speed out-of-the-box, and aimed to be a lightweight, "personal" database (hence the "My"). This fast & light focus meant that certain "BigDB" features (triggers, transactions, ...) fell by the wayside.

On the other hand, PostgreSQL has historically focused on correctness and full support for advanced database features, looking to supplant Oracle and SQLServer. This meant that speed and ease of use sometimes suffered.

Today, though, both databases have mostly caught up -- MySQL has implemented most of the big ticket features that PostgreSQL had for years, and PostgreSQL (especially with the 9.0 release) has gotten far easier to use and tune, and is now as fast (or faster) than MySQL on most workloads.

The heritage still shows, at times: MySQL, even in "strict" mode, still suffers from annoying bugs and mis-interpretations of SQL features. PostgreSQL is still slow out of the box, often needing to be carefully tuned for the best performance.

Disclaimer: major PostgreSQL user and fan here. I've tried to give as objective an answer as I can.

Re: PostgreSQL 9.0 Final Release Available Now

#12
post #9

Earlier quoted context omitted.

Of all the flamewar subjects, I think that one is just about the most tried and true one.

I wasn't trying to start a flamewar! I'm just coding up my first major project and needed help deciding, specifically which one plays better with django.

If you're using Django, and all else being equal, I'd choose PostgreSQL. Nearly all of the core developers (myself included) use PostgreSQL, so Django tends to have better support and we tend to find (and fix) PostgreSQL-related bugs a little bit quicker.

That said, plenty Django sites use MySQL -- including some of the very biggest ones -- without issues. So you're really in good shape either way.

Re: PostgreSQL 9.0 Final Release Available Now

#13

Earlier quoted context omitted.

I wasn't trying to start a flamewar! I'm just coding up my first major project and needed help deciding, specifically which one plays better with django.

If you're using Django, and all else being equal, I'd choose PostgreSQL. Nearly all of the core developers (myself included) use PostgreSQL, so Django tends to have better support and we tend to find (and fix) PostgreSQL-related bugs a little bit quicker. That said, plenty Django sites use MySQL -- including some of the very biggest ones -- without issues. So you're really in good shape either way.

[deleted]

Re: PostgreSQL 9.0 Final Release Available Now

#14

Can anybody point to a good discussion about the strengths and weaknesses of PostgreSQL relative to MySQL? Or can you weigh in briefly about the tradeoffs between the two? EDIT: Okay, must've touched a few nerves there. Sorry. Question was asked in earnest.

I prefer PostgreSQL. The fact that it doesn't have many of MySQL's limitations is a big plus. Just he ability to add a column on a large table without locking the thing for a huge amount of time would be great for us. PostgreSQL can also use multiple indexes which, again, is a serious plus. The error messages that PostgreSQL returns can be much more informative than MySQL. At times when you screw up a query instead of "this is impossible" or "you can't do that", you get something more akin to "this is impossible because of X". Again, this is just my impression. Basically, PostgreSQL feels more like an open source Oracle (a grown up database) than MySQL (which doesn't feel very Oracle-y).

Now the tools are MUCH less friendly, but if you come from an Oracle (or probably DB2) world you'll be used to it. While they require more cryptic commands, they do work very well.

There is the replication thing. When we picked PostgreSQL back up this year to play with for a new little system, we discovered that they took one of the formerly external replication systems and it has been put into the tree. This is a very good step, as the replication situation was a big problem for us. Before there were little third party things (based on triggers) that you could take your chances with, and there were paid replication solutions. Having one built in is quite nice.

Re: PostgreSQL 9.0 Final Release Available Now

#17

Can anybody point to a good discussion about the strengths and weaknesses of PostgreSQL relative to MySQL? Or can you weigh in briefly about the tradeoffs between the two? EDIT: Okay, must've touched a few nerves there. Sorry. Question was asked in earnest.

Historically, MySQL has focused on ease of use, speed out-of-the-box, and aimed to be a lightweight, "personal" database (hence the "My"). This fast & light focus meant that certain "BigDB" features (triggers, transactions, ...) fell by the wayside. On the other hand, PostgreSQL has historically focused on correctness and full support for advanced database features, looking to supplant Oracle and SQLServer. This mean…

My was Monty's daughter's name. It's also why his next database is MariaDB, that's his other daughter's name. The My as in ownership and My as his daughters name was just a good coincidence.

Re: PostgreSQL 9.0 Final Release Available Now

#18

Can anybody point to a good discussion about the strengths and weaknesses of PostgreSQL relative to MySQL? Or can you weigh in briefly about the tradeoffs between the two? EDIT: Okay, must've touched a few nerves there. Sorry. Question was asked in earnest.

Historically, MySQL has focused on ease of use, speed out-of-the-box, and aimed to be a lightweight, "personal" database (hence the "My"). This fast & light focus meant that certain "BigDB" features (triggers, transactions, ...) fell by the wayside. On the other hand, PostgreSQL has historically focused on correctness and full support for advanced database features, looking to supplant Oracle and SQLServer. This mean…

It's more subtle than that. The MySQL people never really understood relational databases or the way they were used. Back in the 90s, their documentation was full of explanations about why you didn't need foreign keys (too slow) or transactions (do it in your application if you need it) etc etc etc. They "grew up" a bit as the years went by and grudgingly added a few of these features in as an afterthought.

But if you need a single-user database there's SQLite and if you need a free serious RDBMS there's Postgres. There's really no ecological niche for MySQL. It only hangs on because sites like Slashdot use it (and if you have thousands of reads for every write, and do only very simple queries, it is adequate).

Re: PostgreSQL 9.0 Final Release Available Now

#19

Earlier quoted context omitted.

Historically, MySQL has focused on ease of use, speed out-of-the-box, and aimed to be a lightweight, "personal" database (hence the "My"). This fast & light focus meant that certain "BigDB" features (triggers, transactions, ...) fell by the wayside. On the other hand, PostgreSQL has historically focused on correctness and full support for advanced database features, looking to supplant Oracle and SQLServer. This mean…

My was Monty's daughter's name. It's also why his next database is MariaDB, that's his other daughter's name. The My as in ownership and My as his daughters name was just a good coincidence.

No, My is Monty's own nickname.

Re: PostgreSQL 9.0 Final Release Available Now

#20
post #19

Earlier quoted context omitted.

My was Monty's daughter's name. It's also why his next database is MariaDB, that's his other daughter's name. The My as in ownership and My as his daughters name was just a good coincidence.

No, My is Monty's own nickname.

Might be true, but the MySQL docs state that the 'My' comes from his daughter:

http://dev.mysql.com/doc/refman/5.5/en/history.html

Post reply on HN