Человек, привишкий к работе с MySQL, неизбежно столкнется с этой ошибкой
Дело в том, что MySQL, в отличие от PostgreSQL разрешает неканонический GROUP BY: без перечисления всех столбцов, по которым идет группировка, при этом объединяя негруппируемые столбцы произвольным образом. Postgre не допускает такой вольности, так как канонический SQL требует перечисления всех столбцов, по которым будет произведена группировка
ПРИМЕР:
Имеем запрос такого вида:
SELECT id, name, date, album_id FROM tracks
MySQL:
SELECT *, COUNT(id) FROM tracks GROUP BY album_id
PostgreSQL:
SELECT *, COUNT(id) FROM tracks GROUP BY album_id, name, date
SELECT album_id, COUNT(id) FROM tracks GROUP BY album_id
Как видно из примера, либо столбец не участвует в выборке, либо мы обязаны группировать по нему