我可以在Joomla 3.3中使用PostgreSQL吗


11

我可以将PostgreSQL与Joomla 3.3生产站点一起使用(不用于测试),如果是这样,我应该注意什么?

我希望得到一些实际安装的人的反馈,并正在将Joomla网站与PostgreSQL数据库一起使用。

谢谢

Answers:


18

您可以使用它,但是我不推荐您使用它,特别是如果您不熟悉Joomla的代码库和特定的PostgreSQL特性。

在过去的几个月中,我专门针对Joomla Bug Squad考察了一些PostgreSQL问题。

我从未在生产中使用过它,但是这里有一些问题/期望如何:

支持多个数据库引擎不只是编写新的驱动程序

PostgreSQL与MySQL不一样-MySQL在处理查询时相当宽松。PostgreSQL不是。在MySQL上完美运行的内容,在PostgreSQL上不一定有效。最典型的问题:

  • 未更新的序列,因此新插入由于PK而失败
  • NOT NULL约束不允许插入数据
  • 使用聚合函数时,PostgreSQL要求所有其他列都在GROUP BY子句中,而MySQL则不需要。

第三方支持

我不想全部说明,但是大多数扩展开发人员仅使用MySQL。您应该事先询问某个扩展名是否与PostgreSQL兼容。

社区支持率很低

事实是,此时使用PostgreSQL的用户并不多。因此,所有开发和测试大部分都在MySQL上完成。每个错误修复都需要两个测试人员。如果他们都不使用PostgreSQL,则代码更改很可能会导致PostgreSQL问题。

报告了一些错误,但是从该报告发布以来,直到有人自愿对其进行修复,并且两个人可以对其进行测试可能会花费很长时间。

Joomla 3.3.0中的状态

(截至2014年4月4日)

  • 您不能插入新标签(SQL错误)
  • 您不能安装具有更新服务器的组件。(SQL错误)
  • 可能警告日志

Joomla中的PostgreSQL可以使事情变得更好

即使PostgreSQL现在发生了一些问题,您也可以通过解决问题来为Joomla做出贡献。

这些问题还不错,但是如果没有社区的支持,就无法解决。

您可以执行以下操作:

  • 检查是否有关于您的问题的任何问题已提交。
  • 报告任何问题,使复制步骤尽可能清晰。
  • 您可以帮助确认新问题(标记为“打开”的问题)
  • 您可以针对标记为“已确认”的问题提出解决方案(通过github上的Pull Request(PR))。
  • 您可以测试建议的修复程序(问题标记为“待处理”)
  • 在每个新版本发布之前进行测试

啊,MySQL的草率是有传染性的:-)我想那时没有事务,还是我需要InnoDB数据库引擎?
David Tonhofer 2014年

不确定。Joomla数据库API确实具有与MySQL配合使用的事务接口。不确定Postgres中的实现。您需要研究这个问题。
Valentin Despa

答案是从2014年开始。这个答案是否仍与当前情况相似?
燕丽

@Ini不能说,因为我与Joomla社区失去了联系。
Valentin Despa '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.