Returning values for Stored Procedures in PostgreSQL I was reading this on PostgreSQL Tutorials:

In case you want to return a value from a stored procedure, you can use output parameters. The final values of the output parameters will be returned to the caller.

And then I found a difference between function and stored procedure at DZone:

Stored procedures do not return a value, but stored functions return a single value

Can anyone please help me resolve this.
If we can return anything from stored procedures, please also let me know how to do that from a SELECT statement inside the body.
If I am wrong somewhere please inform.
Procedure are a new thing in Postgresql as of version 11,   there are two big differences between Procedures and Functions

One Procedures can issue a  commit or rollback and keep processing,  Functions can not issue a commit or rollback.  

Functions create an implicit transaction any exception that occurs will cause a rollback, unless there is  an Exception Block  

Procedure can return a value via INOUT argument   see create functions how that works

create procedure increase(inout i integer )
LANGUAGE 'plpgsql'
AS $$
begin
    i = i+1;
    return;
end ;
$$;

call increase(1);


2nd biggest difference is  

select increase () -- fails with an error 
-- must use CALL to use a procedure
call increase (3) ;


Unless there is a need to commit or rollback use Functions, there are more features for calling and return values...