Difference between MS SQL Server and PostgreSQL

As DBA's point of view
I am working as a MS SQL DBA, I want to know,
What is the Difference between MS SQL Server and PostgreSQL?
VijayAsked:
Who is Participating?
 
PortletPaulfreelancerCommented:
High-level differences table: https://db-engines.com/en/system/Microsoft+SQL+Server%3BPostgreSQL

The most obvious difference: One costs money to license, the other does not.

Support for both is available, but it is certain you would go to Microsoft for SQL Server support, for PostgreSQL you can shop around (but you need to research who you should choose).

There are myriad detailed differences, e.g.
many function names differ
PostgreSQL has more regex capability
PostgreSQL can "generate a series"
PostgreSQL provides LISTAGG()  (instead STUFF() and FOR XML PATH etc.)
PostgreSQL  started as Ingres in the mid 1970's so as a result it is very feature rich. It can also be considered a bit more complex than others because of that large feature set.
MS SQL Server has SSMS, you have to shop around for gui tools to use for PostgreSQL  

If you are looking for an open source dbms it is a good choice in my opinion. However I am NOT a DBA (I was an architect).
0
 
arnoldCommented:
Install PostgreSQL and find out for yourself. Not sure what you are looking for in a response.
PostgreSQL reference....
You have the foundational info on databases, you merely have to apply your knowledge based on the options available whether it is ms SQL, PostgreSQL, MySQL, Miranda db, oracle, db2 etc.

Try the following,
Let's say I am a MySQL DBA, and I ask the same question seeking to compare MySQL and Ms SQL?
0
 
Pawan KumarDatabase ExpertCommented:
Hi Vijay,
Your question is very wide-

You can get all the difference from here -
1. https://db-engines.com/en/system/Microsoft+SQL+Server%3BPostgreSQL 
2. https://www.pg-versus-ms.com/

From my personal experience I can provide you few differences - TOP and SELECT * INTO.. does not work in postgreSQL while it works in MS SQL Server while In PostgreSQL  you need to use the keyword LIMIT and CREATE TABLE as

Eg.

SELECT TOP 10 * from YourSQLTable --> MS SQL Server
SELECT * FROM YourPostgreSQLTable LIMIT 10 --> PosgreSQL 

Open in new window

Another one is SELECT * INTO works in MS SQL Server not in PostgreSQL

SELECT * INTO testnew FROM YourTableName --> SQL Server
CREATE TABLE testnew 
AS
SELECT * FROM YourTableName --> PostgreSQL

Open in new window


Also note that MS SQL is leading databases now. Refer this from Gartner Magic Quadrant - https://www.gartner.com/doc/reprints?id=1-3JD7HF0&ct=161005&st=sb
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
That's almost asking what's the difference between Ferrari and Porsche. They are both sport cars and depending on customers taste and money they can afford them very good experiences.

I guess the same attends for SQL Server and PostgresSQL. They are both database management system and unless you have a very specific need that only one of them offers what you need, you can choose any of them based on your own knowledge and money.
0
 
VijayAuthor Commented:
Very good information.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.