7 ms·
PostgreSQL is more popular than MySQL
- ddorian43 12y agoI think users of postgresql are usually more experienced, care about features and complete polls than users of mysql who probably don't user foreign-key constraints.
- alexchamberlain 12y agoCitation please. (I prefer Postgres, but your statement seems harsh.)
- ddorian43 12y agoI'm talking solely based on my experience, which has been much harsher than I wrote in my comment. I know in-person only 1 guy that likes postgresql and he had good reasons for it and experience with many rdbms. While everyone else is like: lol php+mysql for life (talking only people that I know in-person). Nearly the same experience, but much better is online in my opinion. Exercise: Go to reddit.com/r/postgresql and reddit.com/r/mysql and see if there is any difference in topics.
- Amezarak 12y agoIt makes some sense to me. I always find it pretty painful writing anything but the most simple queries in MySQL - for starters, there's no CTEs, no windowing functions, and no table-valued functions, all of which I find invaluable - and the query optimizer (and performance in general) seems... not so hot. As far as I can tell, the main reasons people use MySQL are 1) it's well-known, well-documented, free, and widely available; shared hosting, for example, is almost always MySQL and 2) replication. I often wonder if the inadequacies of MySQL are part of the reason for the success of NoSQL databases and general un-hipness of relational databases.
- cwyers 12y agoI used MySQL a lot at my last job (MS SQL Server now, which has its own ups and downs) and I examined using Postgres for some personal projects, and there's a few features that I used rather heavily in MySQL (partitioned tables and upsert are the really big ones) that Postgres doesn't have an out-of-the-box equivalent to. There's a lot of tradeoffs between the two, I think it's wrong to say one is better than the other without context.
- Amezarak 12y agoPostgres does have partitioned tables, although the implementation is different from MySQL's. Upsert stands, though. I don't disagree there's tradeoffs - I mentioned replication, for example, but it seems to me that MySQL is lacking a lot of features that other DBMS's provide and except for a few use cases, the fewer features unique (or better implemented) in MySQL doesn't make up for it. Honestly I prefer SQL Server by leaps-and-bounds over the four I've used enough to be very familiar with - MySQL, MS SQL, Oracle, and Postgres - but I think Postgres has much more to offer to most users for most use cases than MySQL.
- xtrumanx 12y agoHere's a great article[0] regarding different ways to accomplish to upsert in Postgres. I bring it up because the author adds his thought on why Postgres hasn't implemented it unlike the other open source RDBMS: > As a final word – yeah, but why PostgreSQL doesn't handle it internally, as the other database? > Answer lies somewhere between "developers have other things to do first" and "it's complicated, because there are many ways to do it, and the most correct one is slow – so there is a trade off decision to be made". I'm not sure how upsert is implemented in MySql but given its reputation and the fact that it is open source; I would imagine the Postgres team has considered their solution and have decided it wasn't good enough for their standards. Postgres may not have an out-of-the-box solution but there are solutions out there which are mostly pretty trivial functions. Although they may add a bit of bloat since it seems you'd need a function for each table you'd want to use upsert on. [0] http://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/ http://www.depesz.com/2012/06/10/why-is-upsert-so-complicate...
- 12y ago
- jonifico 12y agoHow come I'm not surprised? At all.
- blumkvist 12y agoBecause it's an extremely inaccurate title, based on an extremely biased survey?
- 67726e 12y agoWell, I'm sure on a site about RDBMSes, you're gonna get some skewed results. In the wild, MySQL sees higher use than PostgreSQL. That said, as an old coworker would say, MySQL is the PHP of RDBMSes. Ubiquitous, gets the job done, and works well mostly. Of course it does horrendous comparisons, conversions, and mutilations of data. Exactly the thing a database should not do.
- yxhuvud 12y agoUsage and popularity is not the same thing though, even if they are all to often conflated. I use MySQL and absolutely hate it.
- 67726e 12y agoWhen did I conflate the two? For that matter, how do you measure "popularity" of a piece of software? You could just as well say a piece of software is popular because everyone knows and loves it or because everyone uses it and hates it. Webster gives you "liked or enjoyed by many people" and "accepted, followed, used, or done by many people".
- robbles 12y agoI think yxhuvud is agreeing with you, as would I. The original poll is conflating the two concepts.
- untog 12y agoPopularity doesn't really mean "well liked" in this context, though.
- davidw 12y agoIn preparation for a potential move back to the US, I've started idly browsing indeed.com for potential jobs. It's not a dealbreaker, but I have to admit to feeling a tiny bit disappointed when I see Mysql instead of Postgresql.
- drsintoma 12y agoAt work we are moving from Postgresql to MySQL, simply because for our current needs both will do just fine, and as of today, thanks to galera cluster, a high availability setup in MySQL is much easier to operate.
- davidw 12y agoThey've both continued to improve, a lot, but whenever I'm forced to use Mysql, there always seem to be lots of little annoying things that I run into that make me grumpy. In any event, I'm positive Mysql is actually more widely used. But Fiats are more widely used than Ferraris, too.
- drsintoma 12y agoYes, I know your feeling. But sometimes you need to be pragmatic, specially when resources are limited, and in many use cases you can stick to the standard ORM functionality and forget about what's underneath.
- carsongross 12y agoThe ability to spin up and sync a follower db, for eventual cut over... man I'd kill for that in MySQL.
- gtCameron 12y agoThe feature you are looking for is replication, I have used that in MySQL many times to do the exact thing you are talking about, works great. Example - http://blog.onetechnical.com/2012/05/29/quick-mysql-replication-to-move-a-database/ http://blog.onetechnical.com/2012/05/29/quick-mysql-replicat...
- vidarh 12y agoReplication is an area where MySQL is still far ahead of Postgres. And I say that as someone who has almost exclusively used Postgres for the last 6 years or so. Postgres is finally starting to catch up, but it's taken forever.
- jeltz 12y agoNot really. PostgreSQL has excellent synchronous replication which can be controlled per transaction. This is missing in MySQL. What PostgreSQL is missing is logical replication (both master-slave and master-master. So depending on your use case either could be ahead of the other. I am almost 100% certain PostgreSQL will have have stable master-master replication within 1.5 years. The team working on it has come really far along.
- vidarh 12y agoLacking master-master is a huge thing. And I still curse at Postgres whenever I set up replication. There's no good reason why I should have to worry about wal-archiving, for example. I'll admit I've never, ever wanted synchronous replication, so that's not a feature I've cared about. I agree it will probably get there. But from my point of view it is still substantially lagging.
- jeltz 12y ago
- jasode 12y agoThis is a survey asking "what's your favorite?" "favorite" != "popular" I don't think the editorializing in the title is an accurate summary of the survey's results.
- deleted 12y ago[deleted]
- jasondc 12y agoThis survey (which seems more thorough) has MySQL ahead of Postgres: http://db-engines.com/en/ranking http://db-engines.com/en/ranking Ranking methodology: http://db-engines.com/en/ranking_definition http://db-engines.com/en/ranking_definition Google trends also shows MySQL above Postgres in popularity: http://www.google.com/trends/explore#q=%2Fm%2F05ynw%2C%20mysql&cmpt=q http://www.google.com/trends/explore#q=%2Fm%2F05ynw%2C%20mys...
- Someone1234 12y agoI legitimately don't understand how Oracle remains so popular. I mean, I use it at work, but that is because this project dates back to the late 1980s(!) and decisions were made 20+ years ago. It doesn't even support a Boolean type(!), costs a ton (over 2x MS SQL, 4x Postgres), passwords are limited to 30 characters, up until 2007 passwords were case insensitive, error feedback is "basic," and the syntax is horrific. Oh and don't get me started on how poorly Oracle maps to programming languages. number(9,0) and number(18,0) is not an intuitive way to map into int32 and int64! Microsoft's bigint, int, smallint for 64, 32, 16 respectively is far more intuitive.
- jacques_chester 12y agoOnce you're married to an RDBMS, it's difficult to move off. And Oracle was first to the market. If you're a F500 with your general ledger in Oracle, it's just easier to pay a few million dollars for a known evil than to spend who knows how much to replace it with a raft of potential difficulties during a migration project. After working with it for a few years I hate Oracle as much as the next developer, but most of the time business decisions are made for business reasons, not technical reasons.
- CHY872 12y agoMm, my understanding is that it's for a few reasons: - Oracle have good name recognition (no one ever fired for using Oracle), presumably an army of support people, well trained consultants, etc. - Postgres traditionally has not been as perforrmant, which makes it less useful for very large datasets. - Furthermore Oracle perf can usually be improved further by hinting properly, which is not possible in Postgres. Certainly moving like-for-like onto postgres simply led to perf regressions. I'm not an expert, but those were my main takeaways from talking to people who are.
- nanoscopic 12y agoWhy are MySQL and MariaDB shown separately. For all intensive purposes they are the same.
- giblaz 12y ago>intensive purposes You mean "intents and purposes".
- Someone1234 12y agoI might have agreed with that when the two initially forked, however the gap continues to widen: https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/ https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibi...
- nanoscopic 12y agoSo far as liking one versus the other; they are the same. Nobody is going to say "I like MySQL over MariaDB because I have to change MarioDB options to make it work the same as MySQL".
- jaset 12y agoI'm quite surprised that Percona Server didn't make an appearance in the list.
- thehal84 12y agoI'll stick with MySQL, the features and stability just keep getting better. Replication, Memcache Plugin (with amazing write and read performance that supports replication), InnoDB Barracuda compression, JSON datatypes (in 5.7), it has scaled amazing well for us at Enginuity Search Engine. I should do a write up on our company blog sometime about all this.
- davvolun 12y agoIt's not a deal-breaker per se, but I need someone to explain to me why, at this point in history, you need to make a choice, at some level, between relational integrity and full text indexing (InnoDB vs MyISAM)?
- bradleyfalzon 12y agoI believe InnoDB does have this now in MySQL 5.6: http://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html http://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index...
- feld 12y agoBut it's not yet equivalent to Postgres' fulltext
- dreamweapon 12y agoSounds more like "I'll stick with MySQL because it's what I know" than any kind of a holistic comparison between the two.
- ragecore 12y agoThis has a lot to do with heroku, I believe.
- chishaku 12y agoOther data points... StackOverflow questions - MySQL: 279,125 - PostgreSQL: 32,040 Github repository results - MySQL: 16,476 - PostgreSQL: 4,332
- collyw 12y agoThe question is what is your favorite. I use MySQL and Postgress. I use MySQL more, but I would say I prefer Postgress for features,so depends what definition of popular you are using (by usage, or by users personal favorite).
- programminggeek 12y agoIt might be the db that more people like, but MySQL is more popular by a wide margin. If only because it runs WordPress which runs like 20% of the internet.
- Roboprog 12y agoIn this survey I learned that dBase/Clipper, as well as Access, are relational databases. I actually liked working with XBase back in the 80s, but I don't miss not having foreign key constraints enforced, not having transactions, having long data values truncated, not being able to take a backup while running. Early MySQL was too much like XBase for my taste, whereas PostgreSQL felt like a "real" database. I realize the InnoDB backend makes data integrity a bit more of a priority, but MySQL always felt like "worse is better", even if a bunch of "will code HTML for food" 90s internet crack heads helped make it ubiquitous. Windows is ubiquitous, and that doesn't mean much to me.