Não entendo por que essas funções se comportam de maneira diferente. O fato de terem uma aridade diferente não deveria afetar minha capacidade de citá-los.
janus@janus-ux305ca ~ % psql
psql (14.11 (Debian 14.11-1.pgdg110+1))
Type "help" for help.
janus=> select least(1,2);
least
-------
1
(1 row)
janus=> select "least"(1,2);
ERROR: function least(integer, integer) does not exist
LINE 1: select "least"(1,2);
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
janus=> select "count"(1);
count
-------
1
(1 row)
Qual é a terminologia correta que explica a diferença de comportamento?
LEAST
(eGREATEST
, eCOALESCE
, etc.) não são funções SQL , por isso estão listadas na seção "Expressões condicionais" do manual. Posteriormente, as regras de cotação SQL não se aplicam a eles; elas são muito parecidas com as outras palavras-chave SQL.Descobrindo por que os desenvolvedores do Postgres optaram por implementá-los dessa maneira, deixarei como um exercício para o leitor (ou uma oportunidade para um deles responder).