3 ms·
> My rule of thumb is that Postgres gets you 50% of Oracle for 0% of the price. Most of what most people need is somewhere in that 50%. SQL Server gets you 90%
by jorams 9y ago
> My rule of thumb is that Postgres gets you 50% of Oracle for 0% of the price. Most of what most people need is somewhere in that 50%. SQL Server gets you 90% for 25% of the cost.
Can you elaborate on what kinds of things fill the 40% difference between PG and MSSQL? Having used both PostgreSQL and SQL Server, my experience has been pretty much the other way around. When I need to do something with data in a table, PG probably has a feature allowing me to do it easily, and MSSQL probably doesn't. The simplest questions asked on Stack Overflow are answered with functions spanning tens of lines, often with various caveats.
The one area where MSSQL is clearly better than PG is GUI tooling, but even there I'm not particularly impressed. More than once have I read that someone absolutely loved SQL Server Management Studio, but the one conclusion I can come to after using it is "it works". For example, "Select Top 1000 Rows" is a fine view with autocompletion and everything, but then "Edit Top 200 Rows" has an SQL panel hidden behind a context menu, without autocompletion, and when you execute your modified query it rewrites it and removes all comments.
- gaius 9y agoCan you elaborate on what kinds of things fill the 40% difference between PG and MSSQL? SQL Server is well ahead of PG in query parallelisation and complex replication topologies, even as of PG 10.1. SQL Server is also ahead in change data capture, but PG 10 narrowed that gap. Managing a large user base is easier on SQL Server. If you have those use cases it is well worth the money. If I need to do something clever with the contents of the table, SQL Server's embedded R is very good. Having used both PostgreSQL and SQL Server, Well indeed, most people only use a subset of their DB's full feature set, but it will be a different subset for each person :-) I don't really use GUI tools so I can't comment on that but I've heard that pgAdmin 4 is awful.
- jorams 9y agoThank you, that's the kind of answer I was looking for. Those are indeed not things I've worked with. > I've heard that pgAdmin 4 is awful. I've heard the same. I wasn't a fan of pgAdmin 3 either, so I've stuck with the psql command line.
- gaius 9y agoThank you, that's the kind of answer I was looking for I love that in the HN community we can have these conversations without it descending into a platform war :-) I did alot of Oracle up to SQL Server 2012 then just didn't need it any more, SQL Server + PG 9 and now 10 hit all my use cases for a tiny fraction of the cost. Now I wonder why so many people still pay so much for it.
- deleted 9y ago[deleted]
- orf 9y ago> I've heard the same. I wasn't a fan of pgAdmin 3 either, so I've stuck with the psql command line. In case you haven't heard of it, I highly highly recommend pgcli[1] if anyone reading this is doing the same as you and me but hasn't highly customized their psql shell yet. It's one of those tools I wish I had known about earlier. 1. https://www.pgcli.com/ https://www.pgcli.com/
- grumpydba 9y agoWell as a postgres/sybase dba, there are several management features I miss in postgres. For one, when there is no space left for wals, your instance juste crashes. In sybase/mssql your processes would just be suspended untill you add some disk space. Also, spreading your databases on several disks is way easier. On postrgres adding tablespaces makes pg_basebackup lose functionality. Those are some several limitations that the developper might not see, but they impact availlability. Also, reclaiming unused space online can be tedious, and failover from one instance to another is not easy. You have to use 3rd party tools such as repman to do so. All of thoses missing features have caused several outages and should be addresses in my opinion to be able to meet the needs of the most demanding workloads. Still, I view postgres as the best solution for most business cases.
- orf 9y ago> For one, when there is no space left for wals, your instance juste crashes. In sybase/mssql your processes would just be suspended untill you add some disk space. Are these not equivalent from the point of view of external clients?
- barrkel 9y agoBlocking is not normally equivalent to termination for most processes, and not all database activity is from human interaction.