Re: CALL and named parameters

Adrian Klaver <adrian.klaver@aklaver.com>

From: Adrian Klaver <adrian.klaver@aklaver.com>
To: Dominique Devienne <ddevienne@gmail.com>, pgsql-general@lists.postgresql.org
Date: 2025-08-06T18:10:55Z
Lists: pgsql-general
On 8/6/25 10:48, Dominique Devienne wrote:
> (sorry, this is a rant...).
> 
> Was getting an error calling a procedure
> 
> ERROR:  procedure ... does not exist
> HINT:  No procedure matches the given name and argument types. You
> might need to add explicit type casts.
> 
> I verify USAGE on the SCHEMA of the proc. OK.
> I verify EXECUTE on the FUNCTION. OK.
> I verify the names of the parameters, in my CALL with named arguments. OK.
> 
> Turns out, thanks to ChatGPT for clueing me in, CALL does NOT support
> named parameters. And it's about the least helpful error message
> PostgreSQL could have provided IMO. I'd expect something much better
> in this specific case, FWIW.

I am not following as:

CREATE OR REPLACE PROCEDURE public.call_test(IN a integer, IN b integer)
  LANGUAGE plpgsql
AS $procedure$
BEGIN
     RAISE NOTICE 'c = %', a + b;
END;
$procedure$


call call_test (a=>1, b=>2);
NOTICE:  c = 3
CALL


You will need to provide more information on your specific case.

> 
> That's two unhelpful error messages in a short time :).
> 
> Thanks, and again sorry for the rant. Wasted time on this. --DD
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com