There is an inherent problem with MS SQL Server and PostgreSQL: they don't have a SHOW CREATE command like MySQL. This means that in order to backup the database you have to go through the information_schema views. And this is where hell breaks loose. The information there is convoluted and doesn't describe everything you need to produce the DDL of tables and views. Things are slightly better for procedures, triggers and functions. Still, it's not possible to make a proper database dump in SQL unless you use command line tools.
I've tried in the past using command line tools, namely in JoomlaPack. There are two major drawbacks. The first is that it's not always certain that you can execute command-line tools through PHP (hosts disable the necessary functions due to security concerns) and you can't even be sure about the location or the version of the tools provided – or if they are provided. Basically, it's a shot in the dark.
The other thing is that the output you get must be grabbed in full and post-processed. This means potentially grabbing several Megabytes of data, ending up in a memory outage error. If you get past this, you have to process everything in one go, which means a PHP timeout error. Unless you save it to disk, which means that many hosts with file size limits will choke on it (to make things worse, without a meaningful error message or any error message at all) and you might get a timeout error or resource usage limit error when reading from the file.
So, between only supporting MySQL and going straight to the nuthouse I chose the former.
Now, the practical question is why you moved to PostgreSQL. I assume it's performance. Well, I agree MySQL's performance sucks (it's improved in 5.6, but still not up to par in big databases). There are good news. You can use MariaDB or Percona which are essentially different databases (much more performant) but remain API compatible with MySQL. I have clients who do use MariaDB and at least one person has used Percona. I consider using either of these the best solution.
Moreover, you should note that most Joomla! extensions are not designed for use on any database other than MySQL (and compatible databases). Given the lack of experience in the developer community on those other database servers and the G I N O R M O U S investment of time necessary to be able to optimise software for use on a specific database server I'd recommend staying clear of non-MySQL-compatible databases, at least for the next 5-6 years.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!