Function Error Response Is Not Clear

Luke Muther <lmutes8@gmail.com>

From: Luke Muther <lmutes8@gmail.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2025-06-06T02:50:23Z
Lists: pgsql-bugs
To whom it may concern,

Some functions if they are missing the correct arguments give vague error
messages while others give specific ones.

Specific error message example query 1:
SELECT sum();
Specific error message example output 1:
ERROR:  function sum() does not exist
LINE 1: SELECT sum();
                            ^
HINT:  No function matches the given name and argument types. You might
need to add explicit type casts.

Specific error message example query 2:
SELECT sum();
Specific error message example output 2:
ERROR:  function lower() does not exist
LINE 1: SELECT lower();
                            ^
HINT:  No function matches the given name and argument types. You might
need to add explicit type casts.

Vague error message example query 1:
SELECT nullif();
Vague error message example output 1:
ERROR:  syntax error at or near ")"
LINE 1: SELECT nullif();
                                    ^

Vague error message example query 2:
SELECT nullif(1);
Vague error message example output 2:
ERROR:  syntax error at or near ")"
LINE 1: SELECT nullif(1);
                                      ^

Vague error message example query 1:
SELECT coalesce();
Vague error message example output 1:
ERROR:  syntax error at or near ")"
LINE 1: SELECT coalesce();
                                           ^

These examples it is clear the function is the issue, but in my actual
query there were many parentheses nearby so I thought I had mismatched
parentheses for a while and it sent me hunting for the wrong thing wasting
precious time on a production bugfix mid-crisis. I do not know if any other
function besides NULLIF and COALESCE are affected by this. They are just
the two I happened to test.

Best,
Luke