Cross-platform software is about giving the user control over their infrastructure.
(At work I currently manage several Postgre SQL databases, some in Windows and some in Ubuntu Linux.
The whole thing took perhaps 100 lines of code and three hours – two of which were spent getting to grips with SWIG, which was new to me at the time).
Maybe MS SQL Server kicks Postgre SQL's arse as an OLTP backend (although I doubt it), but that's not what I'm writing about here, because I'm not an OLTP developer/DBA/sysadmin. Do please use it if you wish; I will do my best to respond. This section is a comparison of the two databases in terms of features relevant to data analytics.
CSV is the de facto standard way of moving structured (i.e. All RDBMSes can dump data into proprietary formats that nothing else can read, which is fine for backups, replication and the like, but no use at all for migrating data from system X to system Y.
(This may sound fussy or inconvenient, but it is actually an example of a well-established design principle.
It makes sense: would you rather find out your import went wrong now, or a month from now when your client complains that your results are off? Most people don't believe me when I tell them this. Usually they observe something like: easy to write (I wrote one in C and plumbed it into PHP a year or two ago, because I wasn't happy with its native CSV-handling functions.
Let's not understate this: a data analytics platform which cannot handle CSV robustly is a broken, useless liability. The commands support the spec outlined in RFC4180 (which is the closest thing there is to an official CSV standard) as well as a multitude of common and not-so-common variants and dialects. When an error occurs, they give helpful error messages.