phpBB mit PGSQL ergibt Fehler

Hi,

Ich habe gestern angefangen für unsere Klasse eine Homepage mit Joomla und phpBB zu “bauen”.
Da ich bereits ein phpBB mit MySQL auf meinem Server laufen habe, wollte ich das zweite Forum auf PgSQL laufen lassen (das wie ich jetzt im Forum gelesen habe auch besser sein soll) aber er liefert mir immer bei einer Speziellen Aktion einen Fehler. Ich habe auch schon mal die Datenbank neu angelegt und phpBB neu installiert.

Der Fehler tritt immer auf, wenn ich die ForumRechte eines Forums ändern will.
Der Fehler sieht folgendermaßen aus:

[quote]Allgemeiner Fehler
SQL ERROR [ postgres ]

ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list []

SQL

SELECT DISTINCT u.user_id, u.username FROM phpbb_users u, phpbb_acl_users a WHERE u.user_id = a.user_id AND a.forum_id = 2 AND (a.auth_option_id IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30) OR a.auth_role_id IN (14, 15, 16, 17, 18, 19, 20, 21, 22)) ORDER BY u.username_clean, u.user_regdate ASC

BACKTRACE

FILE: includes/db/postgres.php
LINE: 177
CALL: dbal->sql_error()

FILE: includes/acp/acp_permissions.php
LINE: 1165
CALL: dbal_postgres->sql_query()

FILE: includes/acp/acp_permissions.php
LINE: 399
CALL: acp_permissions->retrieve_defined_user_groups()

FILE: includes/functions_module.php
LINE: 471
CALL: acp_permissions->main()

FILE: adm/index.php
LINE: 74
CALL: p_master->load_active()[/quote]

leider habe ich 0 ahnung von Datenbanken xD und php kann ich auch nur mit “abschreiben”…

Mal alle Infos die ich jetzt habe:
[ul][li]phpBB version 3.0.1 mit übersetzung von phpbb.de[/li]
[li]Datenbank PgSQL, da beide möglichen MySQL Datenbanken schon belegt sind.[/li]
[li]Unter MySQL geht alles ohne Probleme[/li][/ul]

Ich hoffe es kann mir einer helfen :slight_smile:

Der Fehler liegt im phpBB und wird in Version 3.0.2 behoben sein.
Bis dieses Version draußen ist, kannst du den Fehler von Hand ausbessern.

Suche in der Datei includes/acp/acp_permissions.php den Abschnitt

// Not ideal, due to the filesort, non-use of indexes, etc. $sql = 'SELECT DISTINCT u.user_id, u.username FROM ' . USERS_TABLE . ' u, ' . ACL_USERS_TABLE . " a WHERE u.user_id = a.user_id $sql_forum_id $sql_where ORDER BY u.username_clean, u.user_regdate ASC"; $result = $db->sql_query($sql);
Und ersetze ihn hiermit

// Not ideal, due to the filesort, non-use of indexes, etc. $sql = 'SELECT DISTINCT u.user_id, u.username, u.username_clean, u.user_regdate FROM ' . USERS_TABLE . ' u, ' . ACL_USERS_TABLE . " a WHERE u.user_id = a.user_id $sql_forum_id $sql_where ORDER BY u.username_clean, u.user_regdate ASC"; $result = $db->sql_query($sql);
das sollte das Problem lösen.

Was ist an PGSQL bei phpbb soviel besser?

ich verwende phpBB3 auf pgSQL und bin sehr zufrieden…ist ein wirklich schnelles DB-System :wink:

Also mir reicht MySQL was Schnelligkeit angeht aus. Ist ja auch irgendwie “klassischer” für phpBB.
Im Moment brauche ich keine weitere Datenbank, aber wenn irgendwann mal doch - w#re es dann möglich, dass Miro mir 1 oder 2 MySQL-DB mehr gibt, dafür aber 1 bzw. 2 PgSQL-Datenbanken abzieht?

LG Niklas

anstatt immer postgresql wegen dem geringeren bekanntheitsgrad zu bemängeln, solltest du dir lieber darüber gedanken machen, warum ich diese datenbank für das bplaced-system einsetze - und nicht mysql. ich habe haufenweise gründe dafür, möchte hier auch keinen kleinkrieg starten oder seitenweise texte mit begründungen schreiben. mysql wäre technisch, weder im bezug auf die sicherheit, noch auf die mächtigkeit bezgl. SQL als sprache selbst in der lage dafür.

warum mysql weiter verbreitet ist sehe ich einfach darin begründet, dass die administration für hoster (und damit auch für viele tausend potentielle benutzer, die bei solchen hostern sind) schlichtweg in der tat viel einfacher ist. es ist eher so für rechenzentren und große konzerne bzw. cluster ausgelegt anstatt für einfache homepages - da achten die entwickler wohl eher auf möglichst detaillierte konfigurationsmöglichkeiten als darauf, dass es mal eben so einfach und schnell wie bei LAMP (oder XAMPP, …) installiert werden kann … !haue

ciao

Bemängel tue ich PgSQL ja nicht. Ich habe da auch noch keine Erfahrungen mit; MySQL ist mir jedoch um einiges vertrauter, deswegen bevorzuge ich diese Datenbank.

LG Niklas