> > > This is because PostgreSQL 9.1 added the feature of simple checking of > functional dependencies for GROUP BY. The manual of 9.1 explains quite well > when PostgreSQL considers there to be a functional dependency. > > "When GROUP BY is present, it is not valid for the SELECT list expressions > to refer to ungrouped columns except within aggregate functions or if the > ungrouped column is functionally dependent on the grouped columns, since > there would otherwise be more than one possible value to return for an > ungrouped column. A functional dependency exists if the grouped columns (or > a subset thereof) are the primary key of the table containing the ungrouped > column." > > I completely agree with documentation.
But my case shows that "not valid" expression which refers to column which is ungrouped still works in 9.1. G.