11

Can I use PostgreSQL with Joomla a 3.3 production site (not for testing) and if so is there anything I should be aware of?

I would appreciate some feedback from someone who has actual installed and is using a Joomla website with a PostgreSQL database.

Thanks

1 Answer 1

18

You can use it, but I would not recommend it especially if you are not familiar with Joomla's codebase and specific PostgreSQL particularities.

In the last couple of months I looked into a couple of PostgreSQL issues, as part of my time dedicated to the Joomla Bug Squad.

I never used it in production, but here are some issues / what to expect:

Supporting multiple database engines isn't just about writing a new driver

PostgreSQL is NOT like MySQL - MySQL is rather permissive when it comes to handling queries. PostgreSQL is not. What perfectly works on MySQL, does not necessarily work on PostgreSQL. Most typical issues:

  • sequences that are not updated, so new inserts fail because of the PK
  • NOT NULL constraints do not allow inserting data
  • when using aggregate functions, PostgreSQL requires all other columns to be in the GROUP BY clause, MySQL does not.

3rd party support

I don't want to say all, but most of the extension developers work exclusively with MySQL. You should ask in advance if a certain extension is compatible with PostgreSQL.

Community support is rather low

The reality is that there are not so many users using PostgreSQL at this point. So all the development and testing is mostly done on MySQL. Each bug fix requires two testers. If none of them is using PostgreSQL, than it's likely that a change in the code will cause an issue in PostgreSQL.

There are some bugs reported, but from the report coming in, till somebody volunteers to fix it and two people can test it it may pass a long long time.

Status in Joomla 3.3.0

(as of 08.04.2014)

  • you cannot insert new tags (SQL errors)
  • you cannot install components that have an update server. (SQL errors)
  • possible warning the the logs

Things can get better for PostgreSQL in Joomla

Even though some things are broken with PostgreSQL right now, you can make a contribution to Joomla by helping fixing things out.

The issues are not that bad, but without community support, they can't be fixed.

Here is what you can do:

  • Check if there are any issues already submitted regarding your issue.
  • Report any issues you have, making the replication steps as clear as possible.
  • You can help confirming new issues (issues marked as "Open")
  • You can propose a fix (via a Pull Request (PR) on github) for issues marked as "Confirmed".
  • You can test proposed fixes (issues marked as "Pending")
  • Test before each new release is made public
4
  • Ah, the sloppiness of MySQL is infectious :-) I suppose there are no transactions then or do I need InnoDB database engine? Dec 17, 2014 at 17:10
  • Not sure. The Joomla database API does have an interface for transactions which works with MySQL. Not sure about the implementation in Postgres. You need to digg into the issue. Dec 17, 2014 at 18:34
  • The answer is from 2014. Does this answer still resemble the current situation?
    – Ini
    Nov 21, 2018 at 21:50
  • @Ini cannot say as I have lost touch with the Joomla community. Nov 26, 2018 at 20:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.