Gerhard Heift <ml-postgresql-20081012-3518(at)gheift(dot)de> writes:
> I have a function with an out variable in which I have an INSERT
> statement with the same name as column. Is it possible to avoid the
> replacement?
No, but you could rename the variable. If you don't want to change the
externally exposed name, try using RENAME:
CREATE FUNCTION insert_foo(IN bar integer, OUT id integer) AS
$BODY$
declare rename id to _id;
BEGIN
INSERT INTO t1 (id, value) VALUES (bar, bar || '-bar');
SELECT id INTO _id FROM ...
regards, tom lane