Preferable database for JIRA/Confluence
Asked by Gigaset Communications Sp_ z o_o_:

Please propose the best database engine for running a JIRA/Confluence instance.

I found an issue here: <https://jira.atlassian.com/browse/CONF-12465>

At the bottom, Charles Miller wrote that the best solution is the one for which we have experience.

It's quite old post so do you still stand by this opinion?

Maybe from your experience with different customers, you recommend specific engine?

We are considering MSSQL and PostgreSQL. Do you know any advantages/disadvantages between them?

Thank you

Michal


Answers:
author: Nic Brough -Adaptavist-
body: Atlassian recommend PostGreSQL first and MySQL second.

I'd never recommend MSSQL over those two, or even Oracle to be frank, especially for java based tools. I've never had database problems with Post or My with Atlassian products, but MSSQL has turned out to be an absolutely monumental pain in the neck, repeatedly.

However, Charles' advice is good. My experience is based on not really having DBA expertise on hand. You may need it if you use MSSQL. You almost certainly won't need it for day-to-day usage if you use Post or My (barring doing the standard backups/failover stuff). If you have expert MSSQL people on hand, and you are comfortable with MSSQL, and not with the others, then use it.


author: Pranjal Shukla
body: Do we have a hierarchy? I know PostGre is the one recommended by Atlassian. Out of Oracle and SQL Server, which one would you recommend the most?

comments: author: Nic Brough -Adaptavist-
body: Oracle. The answers here haven't changed in the last 3 years. The preferred order is very much Postgres first, MySQL a close second, Oracle third, and Microsoft in a very distant fourth place. The only time I'd recommend MS-SQL is when your organisation has no support expertise for the others.


author: Nabil Sayegh
body: True, MS SqlServer is the worst, deadlocks everywhere and badly supported. The only officially supported jtds driver is old as the hills.


author: Nic Brough -Adaptavist-
body: Yes, it's very poorly supported by Microsoft - they can't even get their own drivers to work, let alone support other drivers.


author: Nabil Sayegh
body: Yes, MS does a terrible job here, but Atlassian could also do better. The only officially supported JTDS driver is 8 years old (v1.2.2). The current JTDS driver is from 2013 (v1.3.1).


author: Nic Brough -Adaptavist-
body: Pretty much in line with the releases of SQL Server - they're hampered by MS and JTDS, not their own code.


author: Stefan Ernst
body: MSSQL in itself runs fine, however the support and testing from Atlassian could be improved. Look at this <https://jira.atlassian.com/browse/CONF-38232>


author: Nic Brough -Adaptavist-
body: Yes, that's a bug on the Atlassian side. But the fact that Microsoft's own drivers are unusable is the rather telling point here. The advice still stands - you should prefer the use one of the better databases unless you have no support for them in your organisation.


author: vickey palzor lepcha
body: I have been using Oracle DB for quite sometime now - It's been a smooth DB with a lot activities going in JIRA and CONFLUENCE of my project everyday.


author: Manse Wolken
body: TLDR;If you can afford it: Train a db admin on postgres and use postgres. Otherwise live with the problems that you have with the other databases. I have a horrible confluence upgrade. Atassians requires you to use very specific settings for MSSQL and our DB used with confluence did not comply to them. So no in place upgrade.XML Export, new DB on th cluster and then import, then update. turned out this did not work, update failed on db checks.In the end, and with atlassian support approving it, we did it this way:xml export, change DB to Porstgres, do update, xml export change db back to MSSQL do import....And now I fear the next update...Using MSSQL because no postgres admin available. But missing the speed and the ease that postgres gave me for updating the company wiki.


author: Nic Brough -Adaptavist-
body: I'd still swap to postures. Sounds like MS is not working for you.


author: steffensd
body: We are using MS SQL Server for both Jira and Confluence without any problems.


author: Nabil Sayegh
body: We've used SQL Server and it's a pain in the A\*\*\*, actually it's unusable with JIRA.

comments: author: Fabi?n Escalante Lia?o
body: What's the problem with SQL server?


author: Nic Brough -Adaptavist-
body: It's poorly supported by MS as well - when I first ran into problems with it, MS support told us to try their drivers instead of the jtds ones. The MS drivers do not work - they feel like they haven't been tested, just thrown out there to pretend that MS supports java.

That said, it can work fine. It does work fine in a lot of cases. But don't bet on it.


author: Nabil Sayegh
body: SQL Server frequently DEADLOCKs and SQL Server is poorly supported by Atlassian.


author: stuartu
body: We've used Jira and Confluence on Oracle for years without any problem.

The other question is whether you want to run on Linux or Windows. It also depends on what skills you have in your business to run the infrastructure.


author: LuizA
body: Hello Michael,

Just in addition to the previous answers, we also use PostgreSQL and MySQL in the most of the times in our test instances without any problem, both DBs are recommended.

Regards,

LJ.


author: MatthewC
body: I'd agree with Nic and take PostgreSQL \& Oracle over MS-SQL. If MS-SQL is what you know then it can work but don't ever be tempted to use the MS JDBC drivers. Atlassian warn you off them for a reason. Unfortunately, it means you loose the ability to do any kind of failover but that 0.1% of uptime wasn't worth the 99.9% of degraded performance.

Go with your strengths and if you know PostgreSQL then your question has been answered!


author: RianA
body: Hi Michal,

There are some advantages and disadvantages for both engine. However just give you some idea, we use [PostgreSQL for our OnDemand platform](https://confluence.atlassian.com/pages/viewpage.action?pageId=253231651).

Hope it helps.


Tags: database