Por que não posso usar aspas duplas nos nomes de tipos internos primários no Postgres, apesar de poder usar aspas duplas em seus aliases? Por exemplo, estes funcionam bem
SELECT CAST (1 as bool);
SELECT CAST (1 as "bool");
SELECT CAST (1 as boolean);
SELECT CAST (1 as int8);
SELECT CAST (1 as "int8");
SELECT CAST (1 as bigint);
mas estes falham
SELECT CAST (1 as "boolean");
SELECT CAST (1 as "bigint");
(Consulte http://www.sqlfiddle.com/#!17/a6ad3/13 )