Sorry, I changed the email as I was writing it but I forgot to change the subject line. An appropriate subject would be 'Strange behavior when referencing non-existent column foo."count".'
On Wed, Dec 17, 2014 at 2:50 PM, Patrick Krecker <patr...@judicata.com> wrote: > > I encountered this today and it was quite surprising: > > select version(); > version > > > ------------------------------------------------------------------------------------------------------ > PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu > 4.8.2-19ubuntu1) 4.8.2, 64-bit > > create table foo as (select generate_series(1,3)); > > As expected, the following fails: > > select count from foo; > ERROR: column "count" does not exist > LINE 1: select count from foo; > ^ > But if I change the syntax to something I thought was equivalent: > > select foo."count" from foo; > count > ------- > 3 > (1 row) > > It works! This was quite surprising to me. Is this expected behavior, that > you can call an aggregate function without any parentheses (I can't find > any other syntax that works for count() sans parentheses, and this behavior > doesn't occur for any other aggregate)? >