Il tuo problema:
Purtroppo il rigore di Postgres interrompe questa query perché richiede che tutti i campi siano specificati nella clausola group by.
Ora, questo è leggermente cambiato con PostgreSQL 9.1 (citando le note di rilascio della 9.1):
Consenti non GROUP BY
colonne nell'elenco di destinazione della query quando la chiave primaria è specificata in GROUP BY
clausola (Peter Eisentraut)
Inoltre, la query di base che descrivi non incontrerebbe nemmeno questo:
Mostra un elenco dei 5 tag più comunemente usati, insieme alle volte in cui sono stati taggati.
SELECT tag_id, count(*) AS times
FROM taggings
GROUP BY tag_id
ORDER BY times DESC
LIMIT 5;
Funziona comunque.