Erreur suite mise à jour

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour

J'ai mis un site à jour (6.22) et depuis j'ai cet erreur:

_warning: pg_query() [function.pg-query]: Query failed: ERROR: column "s.timestamp" must appear in the GROUP BY clause or be used in an aggregate function in /mnt/136/sdb/6/7/xxxxxxxxxxxxxx/includes/database.pgsql.inc on line 138.
_user warning: query: SELECT u.uid, u.name, MAX(s.timestamp) AS timestamp FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.timestamp >= 1311764268 AND s.uid > 0 GROUP BY u.uid, u.name ORDER BY s.timestamp DESC LIMIT 10 OFFSET 0 in /mnt/136/sdb/6/7/xxxxxxxxxxxxxx/modules/user/user.module on line 789.

Que dois faire pour y remédier?
Merci.

NOTA:
Dans database.pgsql.inc on line 138 il y a:
$last_result = pg_query($active_db, $query);
Dans user.module on line 789 il y a:

// Display a list of currently online users.
$max_users = variable_get('user_block_max_list_count', 10);
if ($authenticated_count && $max_users) {
Ligne 138==>$authenticated_users = db_query_range('SELECT u.uid, u.name, MAX(s.timestamp) AS timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 GROUP BY u.uid, u.name ORDER BY s.timestamp DESC', $interval, 0, $max_users);
while ($account = db_fetch_object($authenticated_users)) {
$items[] = $account;
}
$output .= theme('user_list', $items, t('Online users'));
}

$block['subject'] = t('Who\'s online');
$block['content'] = $output;
}

Version de Drupal : 

Oups une erreur:

Il faut lire Ligne 789 au lieu de Ligne 138 entre

if ($authenticated_count && $max_users) {
et
{users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 GROUP BY u.uid, u.name

Salut

Pour ma part, je n'ai pas réussi à mettre le patch donc j'ai utilisé une autre méthode (sachez qu'a la prochaine mise à jour, il faudra le refaire)

Si le patch ne fonctionne pas, on peut le faire à la main
1- Faire une sauvegarde du fichier d'origine
2- Modifier le fichier qui doit être patché en ajoutant les lignes avec un + devant et en supprimant celles avec un -

www/xxxxxxxxxx/modules/user/user.module on line 789
=patch:

(- supprimer===>) $authenticated_users = db_query_range('SELECT u.uid, u.name, MAX(s.timestamp) AS timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 GROUP BY u.uid, u.name ORDER BY s.timestamp DESC', $interval, 0, $max_users);

(+ Ajouter===>) $authenticated_users = db_query_range('SELECT u.uid, u.name, MAX(s.timestamp) AS timestamp FROM {users} u INNER JOIN {sessions} s ON u.uid = s.uid WHERE s.timestamp >= %d AND s.uid > 0 GROUP BY u.uid, u.name ORDER BY timestamp DESC', $interval, 0, $max_users);