Hi Tom,
Thanks for the quick response. I will update my PostgreSQL version, retest, and let you know.
Methinks the issue may be in pgAdmin4 because I tested the same thing in pgAdmin3 and do not have the issue there. In the meantime I can still use pgAdmin3 as a workaround.
I have opened an bug report on the pgAdmin list as well.
Thanks again for your help,
William
PG Bug reporting form <noreply@postgresql.org> writes:
> PostgreSQL version: 9.4.0
> Sample Function as shown in pgAdmin4.13:
> CREATE OR REPLACE FUNCTION schema1.function1(
> parameter1 text,
> parameter2 text,
> parameter3 text)
> RETURNS record
> LANGUAGE 'plpgsql'
> COST 100
> VOLATILE SECURITY DEFINER
> SET search_path='schema1, pg_temp'
> AS $BODY$
> DECLARE
> v_typeValue customType;
If this is really a 9.4.0 server, updating might help this, as
there were relevant fixes in 9.4.18 and again in 9.4.19.
(Not to mention all the other bug fixes you're missing.)
I get sane-looking behavior in 9.4.24:
regression=# create function foo() returns int as 'select 1' language sql;
CREATE FUNCTION
regression=# alter function foo() SET search_path=schema1, pg_temp;
ALTER FUNCTION
regression=# \sf foo()
CREATE OR REPLACE FUNCTION public.foo()
RETURNS integer
LANGUAGE sql
SET search_path TO 'schema1', 'pg_temp'
AS $function$select 1$function$
regression=# \q
Now, psql's \sf depends on pg_get_functiondef(), but I don't know
whether pgAdmin does or not. So it may be that the quoting foulup is
actually pgAdmin's fault, in which case you need to complain on
the pgadmin lists. This list is just for bugs in core Postgres.
regards, tom lane
--
William Burke | Sr. Software Engineer | Information Management Services | CANS Engineering
COLLINS AEROSPACE
2551 Riva Road, ANNAPOLIS, MD 21401 USA
Tel: +1 410 573 3180 | FAX: +1 410 573 3106
william.burke@collins.com | collinsaerospace.com