Strange error message when reference non-existent column foo."count"

From: Patrick Krecker <patrick(at)judicata(dot)com>
To: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Strange error message when reference non-existent column foo."count"
Date: 2014-12-17 22:50:06
Message-ID: CAK2mJFOsGAXzTMw4ot2Va+en-c=a+UBpPFEcqvWdRvXTsd4SFQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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)?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Patrick Krecker 2014-12-17 22:53:40 Re: Strange error message when reference non-existent column foo."count"
Previous Message Merlin Moncure 2014-12-17 21:56:39 Re: Storing Video's or vedio file in DB.