hi qtds_123,
After some discussion with the hacker lists, this should not be considered a bug.
quote from tom lane's comments:
More generally: there are probably dozens, if not hundreds, of
messages in the backend that say "function" but nowadays might
also be talking about a procedure. I'm not sure there's value
in improving just one of them.
I am pretty sure that we made an explicit decision some time back
that it is okay to say "function" when the object could also be
an aggregate or window function. So you could at least cut this
back to just handling "procedure" and "function". Or you could
change it to "routine" as Julien suggests, but I think a lot of
people will not think that's an improvement.
see thread [1] for more information.
When an existing procedure is created in the database, an error message is prompted for an existing procedure.
But the error message says "function" type.
PostgreSQL version 11~15
create procedure proc_insert_t_pg_varchar(id int, v varchar)
language plpgsql
as $$
declare
iid int;
vv varchar(5);
begin
iid = id;
vv = v;
insert into t_pg_varchar values(iid, vv);
end;
Test result
Expected behavior
When an error occurs in procedure, the keyword is changed from "function" to "procedure".
Thanks.
--