postgres 9.1 から group by 節のキー以外のカラムを省略できるようになったそうです。
GROUP BY が MySQL 風に緩めに
GROUP BY にプライマリキーが指定されていれば、それ以外の列は GROUP BY に指定しなくても、SELECT 句に書けるようになりました。具体的には
CREATE TABLE tbl (pk integer PRIMARY KEY, t text, i integer);
SELECT pk, t, sum(i) FROM tbl GROUP BY pk;
は、9.0 以前ではエラーになりましたが、9.1 では受け付けられます。 9.0 以前では、t 列も GROUP BY に書く必要があります。
標準SQLでは関数従属性を加味した、このような省略が許されており、9.1 ではその部分的な実装 (プライマリキーのみ) が実装されました。キーの一意性がチェックされるため、省略した列がランダムに選択されることはありません。 MySQLではさらに制限が緩く、なんでも許されてしまうため、「なぜ PostgreSQL では受け付けないのか?」という質問が良くありました。ある程度の互換性が向上したと思われます。
この機能を知らず知らず使っていました。そのせいで postgres 9.3 では成功しているのに、postgres 9.0 ではエラーになるコードを書いてしまいました。超はまりました。自分が管理していない共用データベースなどを使う場合は注意が必要だと思います。
その他 9.1 で更新された機能の解説
http://lets.postgresql.jp/documents/technical/9.1/1