From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Dominique Devienne <ddevienne(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: CALL and named parameters |
Date: | 2025-08-06 18:10:55 |
Message-ID: | 94f7cf0f-ee15-4e6a-b5eb-f70bbbaa520a@aklaver.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
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(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Nathan Bossart | 2025-08-06 18:14:12 | Re: analyze-in-stages post upgrade questions |
Previous Message | Pavel Stehule | 2025-08-06 18:08:36 | Re: CALL and named parameters |