I am creating a procedure where it receives two parameters: p_user and p_id.
create or replace procedure user (p_user numeric, p_ip varchar(20))
as $$
begin
set session.id_user= p_user;
set session.ip = p_ip;
end;
$$
language 'plpgsql';
I call the created procedure:
call user (1, '127.0.0.1');
I perform the verification query:
select current_setting('session.id_user'), current_setting('session.ip');
And I get as a result:
current_setting: p_user
current_setting: p_ip
And not the values reported in the parameters.