Why I Choose PostgreSQL Over MySQL/MariaDB 320
Nerval's Lobster writes For the past ten years, developers and tech pros have made a game of comparing MySQL and PostgreSQL, with the latter seen by many as technically superior. Those who support PostgreSQL argue that its standards support and ACID compliance outweighs MySQL's speed. But MySQL remains popular thanks to its inclusion in every Linux Web hosting package, meaning that a mind-boggling number of Web developers have used it. In a new article, developer David Bolton compares MySQL/MariaDB 5.7.6 (released March 9, 2015) with PostgreSQL 9.4.1 and thinks the latter remains superior on several fronts, including subqueries, JSON support, and better licensing and data integrity: "I think MySQL has done a great job of improving itself to keep relevant, but I have to confess to favoring PostgreSQL."
I choose MS SQL Server (Score:5, Interesting)
Best of all worlds. And guess what, in the grand scheme of things, the price is a drop in the bucket compared to salaries.
Re:I choose MS SQL Server (Score:5, Informative)
MS SQL server has its place:
1: Oftentimes a company already has it licensed, so might as well use it.
2: It is auditor friendly, with the pieces of paper (FIPS, etc.) that don't mean much in real life, but do mean a lot when ISO, or other audits happen, and you have to justify your existence and design decisions. (For those who say certificates/certifications don't matter, one place I worked actually had auditors that would fire people on the spot for "failing to have authority to run the equipment" if their RHCE/MCSE/CCIE certs lapsed.)
3: Finding MS SQL expertise is easy.
4: MS SQL does work and is decently secure. For 99.99% of tasks, it is just as good as Oracle.
This isn't to say that PostgreSQL is bad... but there are times where MS SQL is the ideal choice.
Re:I choose MS SQL Server (Score:4, Insightful)
In terms of licensing, I think the MS sales force is learning too much from Oracle. We are backing out from supporting MS-SQL due to the insanely expensive licensing terms for deployments that MS sales is starting to apply to it.
Re: (Score:3, Insightful)
It's not cheap at all once you get into even just medium-scale usage. If you have a situation where you are starting out small but plan to grow, you need to really consider whether it's wise to go with a commercial RDMBS, because the pricing does get nasty when you get to the point of needing clusters, high core counts, and standby sites.
Re: (Score:3)
If you're doing something that data intensive and can't afford a DB license, then you're doing something wrong.
Re: (Score:3, Insightful)
If you're doing something that data intensive and can't afford a DB license, then you're doing something wrong.
The sheer stupidity in that statement is outrageous. You may not believe it, but it's not just Fortune 500 companies that do "data intensive" stuff. Even a freelancer (i.e. a single person) is able to do "data intensive" stuff.
So, whether you can "afford" a DB license depends on the application. There are lots of applications where using DB would price you right out of the market.
Re: (Score:3, Informative)
So? There's a free version of Oracle too, if you are willing to expose yourself like that.
"Getting something for nothing" usually isn't the point of using "serious commercial enterprise software".
Non-free Oracle can even be licensed in ways that make it as cheap as a more expensive consumer application.
Re: (Score:2)
Plus installing LAMP is sounds cooler than installing LAPP.
Re: (Score:3, Funny)
Re: (Score:3)
More like for 100% of tasks. MSSQL is pretty good; a bit of a pain to install, and obviously crazy pricy unless you're just already paying for it for some other reason, but it's plenty powerful and pretty simple to use.
Oracle, on the other hand, is a steaming pile of turd.
Re:I choose MS SQL Server (Score:5, Interesting)
The Express Edition of MS SQL Server is pretty damn good for 99% of the deployments you would consider MySQL for, and its free. The limits are memory usage (1GB per instance), database size (10GB), CPU (1 physical or 4 cores) and instances (50 per server).
That should run most websites and business apps fine. Because most websites and business apps are drastically overspecced and under used.
Re:I choose MS SQL Server (Score:4, Insightful)
Translation: It has limits that renders it useless on production servers.
Re: (Score:2)
You can use that translation if you ignore my entire last paragraph...
For fetching content for a CMS for a My Little Brony blog, its perfectly fine. Even in production.
Hell, I do complex ETL on hundred million row datasets using SQL Server Express...
Re: (Score:2)
Those are the current limits. So do you build your business round the database that is free today and hope that: a) your business does not grow so that it needs more, and b) that MS does not reduce the limits and catch you. Either way you run the risk of ending up having to pay the license fees. Why not pick a database that will always be free - and keep that cash for something else ?
Re: (Score:2)
If your business grows, its trivial to migrate from Express to Standard - and I do mean trivial. In most circumstances you can just detach the DB files and reattach them to the Standard instance.
And MS has yet to reduce the Express limits, infact they tend to expand them with each new version.
A major issue with picking databases is whether they come with decent client libraries, so my decision making process rarely puts a significant amount of weight on whether something has no licensing cost or not. A much
Re: (Score:2)
More like for 100% of tasks.
I tried invoking it on the Linux server that runs my back end and it couldn't even find it. It's worse than useless for that task.
Re: (Score:2)
Ok, fine, you win. Oracle does technically work on Linux (for sufficiently gross values of "work"), so it does beat MSSQL in that regard. Still... while I certainly understand the existence of non-Microsoft ecosystems and that that could in some cases be the smart choice, I definitely can't understand going with a Linux setup and then choosing to use *Oracle*, for *anything*. Why would you possibly hate yourself that much?
Re: (Score:2)
Oracle doesn't "merely work" on Linux, it's been Oracle's flagship platform for a number of years now. It took that title away from the darling of the commercial Unix world (Solaris Sparc).
Oracle may have it's warts but at least it isn't pre-configured to eat itself. No wonder Windows admins are so used to rebooting machines so often.
You would think that Microsoft would at least use a sane, sensible, and industry standard default.
Re: (Score:2)
Why said Oracle was an option being considered?
I've used a few databases and they all suck with layers of excess complexity. BDB and related DBs are ok. They don't suffer interface bloat nearly as much. A Turing complete query language is completely stupid from a security standpoint.
I'm moving to an in-memory database held in a running program with the client transaction atomicity enforced through the API and with a transaction log to disk from which the running state can be re-built.
It used to be a problem
Re: (Score:3)
If the business got that big, I'd be hiring people to do it for me and there would be some benefits to using more standard approaches since getting people who think like I do would suck and it would suck for employees to have to follow their boss's crazy ideas on the right way to make a responsive database for a point of sale environment.
But there's nothing preventing an in-memory database being duplicated, load balanced, redundantized (or whatever the right word is for adding redundant mirror servers) etc.
Re: (Score:3, Insightful)
MS SQL server has its place:
Our competitors or enemies servers? A trashcan?
1: Oftentimes a company already has it licensed, so might as well use it.
Lemmings....
2: It is auditor friendly, with the pieces of paper (FIPS, etc.) that don't mean much in real life, but do mean a lot when ISO, or other audits happen, and you have to justify your existence and design decisions. (For those who say certificates/certifications don't matter, one place I worked actually had auditors that would fire people on the spot for "failing to have authority to run the equipment" if their RHCE/MCSE/CCIE certs lapsed.)
Sounds like a thankless place to work, but still doesn't support using MS SQL.
3: Finding MS SQL expertise is easy.
citation? Finding people who have seen MS SQL is easy, finding expertise, however, is as much or more limited than for other systems, mainly because most with real expertise won't touch MS SQL except when the business end of a pointy stick is poking them in the eye.
4: MS SQL does work and is decently secure. For 99.99% of tasks, it is just as good as Oracle.
This isn't to say that PostgreSQL is bad... but there are times where MS SQL is the ideal choice.
MS SQL barely works, and falls over as soon as it is hit with significant load. It's an old massive pile of c
Re:I choose MS SQL Server (Score:5, Informative)
Was the last version of SQL Server you used 7.0 or something. I love to dump on Microsoft as much as the next guy, but honestly SQL Sever 2000 on is pretty damn good. As far as falling over when hit with significant load, I was running a 60TB database on the first Itanium versions of SQL 2000 back in '04 and it never 'fell over'.
The project was big enough and cost enough Microsoft was willing to send people out to help us tweak and tune. That is all we did though nothing exotic like a custom build or anything. Just end user tuneables and guidance on schema around partition views and like.
So really there are plenty of legitimate criticisms of the Microsoft platform family but SQL Server falling over ain't one of them.
Re:I choose MS SQL Server (Score:4, Insightful)
There's this little matter of having to run Windows. Not very bloody useful, particularly on production servers, unless you want to a. buy a Windows Server license ($$$) and SQL Server licenses ($$$).
Whereas I can install a Linux or BSD server, throw PostgreSQL or MySQL on it and the cost is the hardware and my time. If I need to add more infrastructure, again it's my cost and my time.
Re:I choose MS SQL Server (Score:5, Informative)
Re:I choose MS SQL Server (Score:4, Insightful)
I've had the misfortunate to work with 2000, 2005, 2008 and 2008 R2, and 2012, and every single one of them has failed spectacularly, many of them with the same basic issue, that wonderful escalating locks problem, which MS spins as a "performance improvement" much like driving a bus off a cliff improves its performance, and in much the same way.
If lock escalation is your problem then lock escalation isn't the problem.
Re:I choose MS SQL Server (Score:4, Interesting)
(un)paid advertizement:
I love to dump on Microsoft as much as the next guy, but honestly SQL Sever 2000 on is pretty damn good.
Now, if SQL server is "honestly" so good, why are the one million busiest sites slowly migrating away from Microsoft?
http://news.netcraft.com/archi... [netcraft.com]
In 2008, 20% of the million busiest websites used Microsoft, now only 12% do, and the decline slowly continues.
When we talk about these installations, we talk about very heavy loads, very much data and very high requirements on reliability and availability.
So why does the high-end "enterprise" systems move away from that "pretty damn good" platform? The Microsoft apologists on this thread constantly tell me who licensing costs don't matter and how good all Microsoft products are ("honestly"!) - but exactly in the one area where licensing costs really don't matter (the one million busiest sites) Microsoft is also losing it. So why then?
Maybe it's not as "pretty damn good" as some anonymous internet commentators claim? Honestly?
Re: (Score:3, Insightful)
> 3: Finding MS SQL expertise is easy.
No. Not really. Microsoft pushes the idea that you don't need to have any clue to use it's products. It helps enable this idea with better novice interfaces. This leads to the problem that you end up with barely trained monkeys having the appearance that they can us Microsoft products.
> 4: MS SQL does work and is decently secure. For 99.99% of tasks, it is just as good as Oracle.
I think Microsoft has the only RDBMS that ever had a genuine viral exploit in the wild
Re: (Score:2)
No. Not really. Microsoft pushes the idea that you don't need to have any clue to use it's products. It helps enable this idea with better novice interfaces. This leads to the problem that you end up with barely trained monkeys having the appearance that they can us Microsoft products.
This is exactly why we recommend Microsoft SQL Server to customers. Barely trained monkeys is more realistic than expecting a trained DBA on staff.
I think Microsoft has the only RDBMS that ever had a genuine viral exploit in the wild.
So what is the relevance some dozen years later? By all measures SQL Server has had a good security record compared with competing products. Check public CVE data for each product and make an informed decision.
Left a test Oracle server running overnight accidentally a number of years ago it had been owned by time I got in the next day...cherry picking is wor
Re: (Score:2)
Re: (Score:3)
It is. We all here have 15 years of experience with Microsoft as the Devil and this makes it hard to ever trust them again. Because we did trust them and trust them again and again and again and every single freaking time, they've done something so horrible to break this trust that our very souls have felt like burning in hell.
Re: (Score:2)
Best of all worlds. And guess what, in the grand scheme of things, the price is a drop in the bucket compared to salaries.
Alas, everyone has to pay salaries and then it's a question of how much you have left to get anything done. Nice try though.
Re:I choose MS SQL Server (Score:5, Interesting)
1) Postgresql - full of random features that makes things easier and better (you can use almost any language for stored procedures, for example. Not huge, but nice).
2) MS SQL - Works fine, not too interesting.
3) MySQL - full of random feature that makes things harder (do you know you can't rollback a transaction that modifies a table? Every other database can....).
4) Oracle - Has all the features, but some of them have very funky syntax.
-- -- -- -- -- --
If you support using the 'best tool for the job,' then the choice is obvious, following this algorithm:
1) If you're using a Microsoft stack, use MsSQL (I've tried using entity framework with MySQL....it mostly works, but it's a pain).
2) If you're using a stack that integrates well with MySQL, use MySQL.
3) If you are in desperate need of corporate CYA, use Oracle.
4) For anything else, use Postgresql. You won't regret it.
Re:I choose MS SQL Server (Score:5, Insightful)
The main difference that I see is that Postgres fans generally have the same zeal and lack of experience that Rails fanboys exhibit. I am not sure where you fall but you are doing a disservice to our community by spouting false claims when you do not understand what you are talking about. (That sounds like a rails fanboy to me.)
I'm pretty sure it means you're a moron. Or rather, you should have thought a little before spouting insults.
Duh (Score:4, Interesting)
Who trusts MySQL with important data? No one who knows about PG. Good web frameworks like Django prefer PG, while crap ones like Drupal and other PHPtards prefer MySQL.
Re: (Score:2)
Double duh. (tag story with "duh"). Try using a CTE to insert into a history table with the results of another table's delete in MySQL.
At least (Score:3, Funny)
It's not Access
Re: (Score:2)
Re:At least (Score:4, Funny)
If Excel is using the old jet engine you get both in one deal.
The worst stack I've ever seen. ASP invokes Access (via OLE automation) which in turn calls FORTRAN. I will smoke a turd in purgatory for showing them how to invoke Access.Application from VB.
I quit in disgust shortly after. 'They' were supposed to define an API without knowing it, so we could replace the Access part. Management said: 'It's working, great lets move forward.'
A more intringuing question... (Score:5, Informative)
Let me quote [slashdot.org], from the comments thread at a recent article by same submitter:
Another user, in the same thread, had speculated [slashdot.org]:
No, sir, you were utterly wrong. It came "Postgresql is better than Mysql".
Re: (Score:3)
Totally came to the thread for this. Was hoping to have someone rant that Postgre was for hipster rails developers, but comments are pretty early.
This guy should really update his website [dhbolton.com] to say Postgre is superb
SQLite3 (Score:5, Interesting)
And for many tasks, you don't need any of that. Have a look at SQLite3 (also, it's built into Python, which can be handy.)
Worried about stability? You can compile the SQLite3 source code right into your project. That way, your databases always match your shipping product, indefinitely, period.
It's not usable for everything -- only a decent subset of SQL is supported -- but you might be surprised at just how much is there, and working well.
Re:SQLite3 (Score:5, Informative)
SQLite3 is a fantastic product, but it's primarily intended as an embedded SQL database, not an RDBMS. They're not really intended to do the same things.
On the other hand, at least SQLite doesn't "feature" silent non-deterministic aggregates [mysql.com].
Re: (Score:2)
That's true, although it's historically not been enabled by default, although AC was kind enough to say it is now.
One of the biggest problems I find people have coming from a MySQL background is not understanding why aggregate queries they're used to working suddenly emit errors like, "Column 'LAST_NAME' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."
The next big problem I see people having is people violating First Normal Form and then comp
maybe, but... probably not. (Score:3)
I haven't -- I've seen cases where the filesystem corrupted itself (with or without the help of hardware failure, no idea), but I've used SQLite most extensively (seriously, I bet I'm close to having used every feature in the thing) in its various revisions for years, as have tens of thousands of my users consequent to my incorporation of same, and I've heard of, and experienced, exactly zero events of DB
Postgres hands down (Score:5, Informative)
I come from a Sybase SQL Anywhere shop. It never ceases to amaze me how stuff that can be elegantly expressed in a couple of queries in Watcom-SQL typically takes four times as much code in MySQL's dialect. I love Sybase's support for the ANSI standards, subqueries, Java/.NET/C/PHP/Perl stored procedures when they are the right tool for the job (ever needed to resize raster images in an INSERT trigger coming from some third-party application?), and great drivers. I shouldn't have to spend 10 minutes trying to figure out why MySQL doesn't support the standard casting string concatenation operator by default (||), or why subqueries don't work like they ought, etc.
Having used Postgres, all of the worthwhile MySQL features are there, most of the SQLA features are there, and the pain level is much, much lower in Postgres than MySQL for someone coming from a full-featured commercial RDBMS.
What really sucks is all of the applications that are so coded around MySQLisms that they don't run on ANSI-compliant engines.
Re: (Score:2)
As someone who's used many, many DBMS engines MySQL is by far my least favorite. Even engines that are completely different from ANSI SQL like Intersystems Cache make more sense to me than the half standards compliant, half brokenness that is MySQL.
Re: (Score:2)
You, my friend, have never used Microsoft Access
Re: (Score:2)
Access hasn't been a database engine in over a decade. It's now a frontend for SQL server.
Re: (Score:2)
What really sucks is all of the applications that are so coded around MySQLisms that they don't run on ANSI-compliant engines.
Exactly. That is the primary reason I not only choose not to use MySQL, but actively advocate other SQL engines to other developers. Even where MySQL supports a standard syntax, their documentation tends to encourage their proprietary alternative syntax, making ports that much harder.
Re: (Score:2)
Being able to call out of SQL into a real language is a big deal.
Your only apparent counter is 'don't do that'.
Note that all the big database vendors provide similar functionality.
Re: (Score:2)
Brittle thinking. Also note: The DBA doesn't have to write the code the server invokes.
Using the supplied example. Resizing a graphic on row update makes all kinds of sense if you have a dozen datapaths coming into the database.
Granting in a well architected application you could do it in the data layer. Not everybody is building complete apps. Some work enhancing applications they don't have source to. It's ugly, but real world.
Re: (Score:2)
No. It's brittle thinking. There is no principle of 'proper software design and architecture' that says: 'Don't put complex things behind database triggers.' If fact, if the event that triggers a complex thing _is_ a database update it's one of the best choices. Especially if there are many data paths that would have to updated.
OLAP cubes are often, more or less, complicated analytics that update on triggers.
I didn't realize you were defending MySQL. I thought we were talking about features of good dat
Re: (Score:3)
Which is great... until you want two different applications to use the same database at the same time and need to occasionally do the same things the same way. When your data is more complex than what Amazon or Google use and closer to what a hospital information system or school information system use, you can no longer rely on a single application from a single vendor using a single database. Shit ain't that simple
Re: (Score:2)
You nailed it. The AC's idea that all data access is performed via a single application is naive. There are cases where the only common interface point between applications is the database.
Re: (Score:2, Insightful)
So your solution, instead of using a proper layer of abstraction (like a service), is to throw everything into the database? Yikes.
The database IS a layer of abstraction.
Re: (Score:2)
I was going to correct you. Then I kept reading and realized which troll this is.
You're 'not even wrong.' You clearly don't understand what your speaking of.
Re: (Score:2)
It gets better than that. There are behaviors for which there are no ANSI standards. So it doesn't matter how much you want to whine that your pet brand is 'more standard". There are enough low level holes in ANSI to ensure that even with the simplest use cases you are still working around vendor specific syntax.
That's just the way it is.
So whining that one engine is "less standard" than any of the other ones is ignorant blather.
Re: (Score:2)
MySQL is ether ACID or fast, depending on how it's setup. 99% of MySQL apps require it be setup in non-strict, non-acid mode.
Also note the second para and which regular retarded troll we are dealing with.
He also clearly is just spouting words he doesn't understand. What does an aggregate function return without a 'GroupBy'? It's undefined, but he wants it to work.
Re: (Score:3)
It will stop it from working with MySQL.
I thought we were over the whole SQL thing (Score:3, Funny)
Isn't everyone all NoSQL nowadays or has that faded away?
Re: I thought we were over the whole SQL thing (Score:3, Funny)
NoSQL only caught on with dumbasses. Everyone with a brain ignored it.
Re:I thought we were over the whole SQL thing (Score:5, Funny)
Nope, we all moved to XML.
Re:I thought we were over the whole SQL thing (Score:5, Funny)
I moved all my XML into JSON, then stored it in a MySQL table named "JSONXML" with a single column named "data". I call it "web 3.0 agile database". I'm in the process of writing a manifesto and bunch of books about it.
Re: (Score:2)
And everything in "data" is CSV.
Re: (Score:2)
So it's a cluster, um,whatever.
Re: (Score:3)
They still use SQL, but only for things smaller then 'web scale'.
Am I joking?
Re: (Score:3)
You likely are joking :)
Because the term 'web scale' has no meaning at all ...
Re: (Score:2)
They still are using NoSQL... until they want to report and extract value from their data, then they'll migrate to an RDBMS.
PostgreSQL is actually a pretty good NoSQL database [craigkerstiens.com] that you can also use as a kick-ass relational database.
Re: (Score:2)
I wouldn't even recommend bothering with hstore. There are several even better ways to use Postgres in a "NoSQL" setting.
For example there is the Mongres [github.com] project, that lets a PostgreSQL database emulate the MongoDB protocol. So you could literally drop Postgres into a Mongo-powered application with not a single hiccup, and get a) better performance and b) all the back-end relational stuff you need when it comes time to do reporting or other business logic.
There's also the new JSONB datatype in PostgreSQL 9.
Re: (Score:2)
Re: (Score:3)
The point is not to switch over to NoSQL, but to use it where it has its benefits.
90% of the data in our days does not need 'integrity constrains' or even transactions.
RDBS are abused for everything because developers are to stupid to realize when a simple file is sufficient. Or their managers ... or what ever.
Everytime I see someone 'logging' intoma database I like to carry him into the base,ent and chain him onto a wall.
Some old quotes... (Score:3)
One expression I remember seeing on the topic went something like: "I can make it as fast as you want as long as it does not have to actually work". The conversation was about filesystems comparing (the non-complying) async-mode with the safer (but slower) alternatives, that actually stood by the promise of fsync(2).
And another, more modern idea [tedneward.com] (only about 10 years old) quote is "Object/Relational Mapping is the Vietnam of Computer Science". Which, for the purposes of TFA, may be interpreted as something like "who cares for ACID compliance — we can deal with occasional data-corruption and inconsistencies — just make it fast in the usual case".
I rather doubt, we'll settle the question in this discussion...
Re: (Score:2)
Doesn't PostgreSQL have transactional metadata? (Score:2)
Postgres has referential integrity (Score:2)
The MOST important reason for using Postgres is that it has object ids (OIDs). This allows true referential integrity. You can have a row point at another row and this reference stays the same REGARDLESS of whether you change the primary key of the referenced row. This allows true object orientation.
Re:Postgres has referential integrity (Score:5, Insightful)
That's not even close to what "referential integrity" means. In fact, it could be used to accomplish quite the opposite.
OIDs are one feature of PostgreSQL that should be buried inside the implementation and not allowed to be accessed from the developer side. Otherwise you are pretty much completely going around the whole point of the Relational Model. If you are developing an application in such a way that it needs pointers to rows, you might as well just store data on the filesystem and be done with it. Or use one of those fancy NoSQL thingies and enjoy your data corruption.
In my experience (Score:5, Informative)
And I'm probably going to step on a lot of toes here, but people like me strongly prefer Postgres to MySQL. And by "people like me" I mean folks for whom their first real rdbms experience was theoretical or "commercial". I did both.
I used ingres in college to a small extent and then the Ingres commercial product for years after that. I have also used Sybase and Oracle professionally. PostgreSQL easily walks among the giants of that industry.
Every time this discussion comes up the MySQL side has to say "yeah, but..." about a thousand times. MySQL doesn't do ______ properly? "Yeah, but if you just install this other piece of software and change a couple of config files it *can* do it.' Well, con-fucking-gratulations!
The point is that PostgreSQL does exactly what it should do out of the box. I don't have to change a configuration file to make it ACID compliant, fast, correct, whatever. It just works and works correctly out of the box.
Every time someone tells me how easy MySQL is to set up they've betrayed their experience level in this realm.
I know a lot of you are going to mod me down - I don't care. But why not reply instead?
Re: (Score:2, Insightful)
Exactly! It's always blown my mind how much genuinely important functionality MySQL zealots are willing to do without in the name of simplicity. It really lets me know how little experience that have with genuinely mission-critical systems, or how small the environments they've worked in are.
I absolutely think MySQL has its place, primarily as a support DB for web frameworks - but honestly that's mostly just because it's so firmly entrenched there that I long ago gave up trying to suggest that the develop
Re: (Score:2)
Re: (Score:2)
Ditto. PostgreSQL ha been sold for real money for a long long time. Developers who made a living off their applications used it and made a living. many of them.
You dismiss it out of hand to your disadvantage.
One reason (Score:2)
Re: (Score:2)
Really? This is your show stopper. Any coder on here should be able to knock something like this out in their free time.
There's probably already something along these lines on Sourceforge. Might even be platform neutral. That's fairly easy with something like Perl or Java.
Re: (Score:2)
Why shouldn't it be a show stopper. If XML is important, why shouldn't someone use a product that already delivers the goods, as opposed to one where the defense is "Well, just write something, or go look on Sourceforge and see if you get lucky!"
Re: (Score:2)
Why shouldn't it be a show stopper.
Because your choice of database shouldn't be predicated on something that will take an afternoon of coding to fix.
JetProfiler is why you should use MySQL (Score:2)
Chances are, you don't know anything about databases. JetProfiler will show you the crappy queries you're using in an easy-to-understand way so you can fix your stuff and make everything faster.
AFAIK, no such tool exists for Postgresql.
As a bonus you don't have to deal with the annoying psql/pgsql crap, which for some reason drives me bonkers. I mean come on, make it psql or pgsql, not both. WTF?
Re: (Score:3)
see http://www.postgresql.org/docs... [postgresql.org]
Just about every modern DB engine has something like it. If you are not even aware of it you should really learn more of your tool set.
Bottom line (Score:4, Interesting)
In the beginning, Postgress set out with correctness as the primary goal. Whatever it did, it had to do it correctly. It started life on the slow and resource hungry side. MySQL set out to be fast and more or less correct in the common case. Back in the '90s that made a lot of sense for small servers.
In the decades since, servers have gotten bigger and Postgress got fast and efficient while still being correct. Why would I want to incur a performance penalty in the surrounding software to check behind the database to make sure it didn't just scrag my data?
"Better Licensing"? (Score:2)
Come on - who really cares about MIT versus GPL licensing in this context? And by "who" I mean "people who manage and use databases as part of their paid job"?
And why does anyone care what someone writing for Dice says on this topic? I read the article, and it doesn't sound like the author has even used any of the features he's decided favor postgres.
What's next - a Dice article on emacs vs. vi?
Nerval's Lobster Advertising Service (Score:3)
[Add obligatory Slashdot's-going-to-hell-in-a-handbasket slam here.]
Re: (Score:2)
MS SQL Server is for 3rd world lamers. Macho PHBs demand Oracle!
Re: (Score:2)
You must only be using the most basic of SQL features. Any quick research towards advanced SQL points to Postgres.
Re: (Score:2)
Been there, done that.
Dbase 3+/Foxpro/Dataflex was as good as MySQL is today. Eventually I learned to do things better.
The really huge disservice is getting kids started on MySQL. How many wasted personlives?
At least when we were using weak databases the strong ones required big iron or a strong workstation. Your just using crap from ignorance.
Re: (Score:2)
Then use NoSQL instead since you don't care about the structure of your data or how you might query that data to extract value.
Re: (Score:2)
1 nanosecond adds up when you have millions/billions of records.
Re: (Score:2)
Does anyone seriously think that mere millions is remotely impressive anymore?
Billions isn't even all that impressive. Some of us were dealing with databases like that 15 years ago.
That tragic "stuff that slows you down" is also the stuff that saves your ass when things inevitably go wrong. Ditch that stuff and you are just gambling with your future.
Re: (Score:2)
I love Postgresql... However I agree pgAdmin, isn't that great. I would love an alternative.
Re: (Score:2)
Re: (Score:2)
It's already on the bottom of every web page.
>> Slashdot is a Dice Holdings, Inc. service.
Anyone who's been here more than two weeks already knows that most of "Nerval's Lobster" submissions come in the form of "compare similar terms X and Y often found on resumes"
Re: (Score:2)
Yeah but they still got you to click the inane Dice.com clickbait.
Re: (Score:3)
no use cases in which we all go into armchair mode and have endless debates already hashed out a million times over.
Yes, this is slashdot.