Content
#27322 - Make PostgreSQL default instead of MySQL
Added by kak tux about 6 years ago
Hi there,
I am trying out OpenProject for a very small company (not even a handfull) using a vm with debian 9.
As i first had a look I some month ago I found the task Task #27322 General goal: Make PostgreSQL default instead of MySQL - and to me it sounded like in the longterm it was planned to drop mysql and focus on postgres only.
Therefor i decided to wait until 8.0 has come out to give it a try to avoid the hassle of changing Databases. Also I prefer Postgres over Mysql.
Now that 8.0 is available this task is shown as rejected. In the comments there is "covered good enough by the more specific #27323" mentioned "- but i can not find this number.
Also there is #27324 Feature Update manual installation instructions to use PostgreSQL instead of MySQL - which is marked as new; and also #27325 Make PostgreSQL default for Docker images.
So - whats the plan now? I personally would prefer postgres - but also would prefer to use the easy way for installation and upgrades (meaning: using the "automatic" installer).
Is postgres still planned as default database? Or is it of the table and mysql/mariadb will be default?
Replies (2)
Hi,
MySQL has several issues in the packaging script that are endemic to it, thus in my opinion we should strive to make PostgreSQL the default. This would make no difference to users currently using MySQL since the installed packaged would remain, but only new users would result in having PostgreSQL installed.
Regarding MySQL 8.0., it should be supported natively but we don't yet have lots of experiences.
In the very long term, my personal opinion is to support only one DBMS for sake of performance optimization, for example we can't use many recent PostgreSQL features (Array, JSON types, Materialized Views) since everything we implement needs to be adapted to 2,5 DBMS (MySQL, MariaDB and PostgreSQL) and tested.
There exists things like https://pgloader.io/ that are very easy to use to convert even large OpenProject MySQL-based installations to PostgreSQL simply due to the fact that we're restricted to standard SQL.
If you're sufficiently proficient in Linux administration, my personal recommendation is to install PostgreSQL on your own and simply create and maintain a separate database for OpenProject. It's quite simple to install and configure outside of OpenProject. Then you only need to run
openproject config:set DATABASE_URL="postgresql://user:password@hostname:port/dbname"
Best,
Oliver
Hi Oliver,
thanks for the answer.
But your preference which sounds to me like you would have not rejected the mentioned task ;). Also it is nice to know that there are easy ways to convert.
So someone did the rejection for some reason. I don't know who has the last say in these things here - but i guess it may be an "official" decision. Basically the rejection sounds to me like it is of the table for good. Correct me if i am wrong - but as i am new here i dont know the whoiswho and how things are done.