Kann ich PostgreSQL mit Joomla 3.3 verwenden?


11

Kann ich PostgreSQL mit Joomla, einer 3.3-Produktionsstätte, verwenden (nicht zum Testen), und wenn ja, sollte ich etwas beachten?

Ich würde mich über Feedback von jemandem freuen, der tatsächlich installiert ist und eine Joomla-Website mit einer PostgreSQL-Datenbank verwendet.

Vielen Dank

Antworten:


18

Sie können es verwenden, aber ich würde es nicht empfehlen, insbesondere wenn Sie nicht mit Joomlas Codebasis und bestimmten PostgreSQL-Besonderheiten vertraut sind.

In den letzten Monaten habe ich mich im Rahmen meiner Zeit für das Joomla Bug Squad mit einigen PostgreSQL-Problemen befasst .

Ich habe es nie in der Produktion verwendet, aber hier sind einige Probleme / was zu erwarten ist:

Bei der Unterstützung mehrerer Datenbankmodule geht es nicht nur darum, einen neuen Treiber zu schreiben

PostgreSQL ist NICHT wie MySQL - MySQL ist eher tolerant, wenn es um die Bearbeitung von Abfragen geht. PostgreSQL ist nicht. Was unter MySQL perfekt funktioniert, funktioniert unter PostgreSQL nicht unbedingt. Die typischsten Probleme:

  • Sequenzen, die nicht aktualisiert werden, sodass neue Einfügungen aufgrund der PK fehlschlagen
  • NOT NULL-Einschränkungen erlauben das Einfügen von Daten nicht
  • Bei Verwendung von Aggregatfunktionen erfordert PostgreSQL, dass sich alle anderen Spalten in der GROUP BY-Klausel befinden, MySQL nicht.

Unterstützung durch Dritte

Ich möchte nicht alles sagen, aber die meisten Erweiterungsentwickler arbeiten ausschließlich mit MySQL. Sie sollten im Voraus fragen, ob eine bestimmte Erweiterung mit PostgreSQL kompatibel ist.

Die Unterstützung der Gemeinschaft ist eher gering

Die Realität ist, dass derzeit nicht so viele Benutzer PostgreSQL verwenden. Die gesamte Entwicklung und das Testen erfolgt also hauptsächlich unter MySQL. Für jede Fehlerbehebung sind zwei Tester erforderlich. Wenn keiner von ihnen PostgreSQL verwendet, ist es wahrscheinlich, dass eine Änderung des Codes ein Problem in PostgreSQL verursacht.

Es wurden einige Fehler gemeldet, aber von dem eingehenden Bericht bis zu einer freiwilligen Behebung durch zwei Personen und zwei Personen, die ihn testen können, kann es lange dauern.

Status in Joomla 3.3.0

(Stand 08.04.2014)

  • Sie können keine neuen Tags einfügen (SQL-Fehler)
  • Sie können keine Komponenten mit einem Update-Server installieren. (SQL-Fehler)
  • mögliche Warnung der Protokolle

Für PostgreSQL in Joomla kann es besser werden

Auch wenn einige Probleme derzeit mit PostgreSQL behoben sind, können Sie einen Beitrag zu Joomla leisten, indem Sie bei der Behebung von Problemen helfen.

Die Probleme sind nicht so schlimm, aber ohne Community-Unterstützung können sie nicht behoben werden.

Folgendes können Sie tun:

  • Überprüfen Sie, ob bereits Probleme mit Ihrem Problem vorliegen.
  • Melden Sie alle Probleme, die Sie haben, und machen Sie die Replikationsschritte so klar wie möglich.
  • Sie können bei der Bestätigung neuer Probleme helfen (Probleme, die als "Offen" gekennzeichnet sind).
  • Sie können einen Fix (über eine Pull-Anfrage (PR) auf Github) für Probleme vorschlagen, die als "Bestätigt" gekennzeichnet sind.
  • Sie können vorgeschlagene Korrekturen testen (Probleme, die als "Ausstehend" gekennzeichnet sind).
  • Testen Sie, bevor jede neue Version veröffentlicht wird

Ah, die Schlamperei von MySQL ist ansteckend :-) Ich nehme an, es gibt dann keine Transaktionen oder brauche ich eine InnoDB-Datenbank-Engine?
David Tonhofer

Nicht sicher. Die Joomla-Datenbank-API verfügt über eine Schnittstelle für Transaktionen, die mit MySQL funktioniert. Ich bin mir nicht sicher über die Implementierung in Postgres. Sie müssen sich mit dem Thema befassen.
Valentin Despa

Die Antwort stammt aus dem Jahr 2014. Entspricht diese Antwort immer noch der aktuellen Situation?
Ini

@Ini kann nicht sagen, da ich den Kontakt zur Joomla-Community verloren habe.
Valentin Despa
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.