The first error is harmless, the second one is not essential either, but comes from to changes in postgres 9.
You can fix this by loading the definition of the failing function "get_func_definition" from packages/acs-kernel/sql/postgresql/postgresql.sql
connect to the db with psql, and paste the following command, and this is fixed as well.
--
-- procedure get_func_definition/2
--
CREATE OR REPLACE FUNCTION get_func_definition(
fname varchar,
args oidvector
) RETURNS text AS $$
DECLARE
nargs integer default 0;
v_pos integer;
v_funcdef text default '';
v_args varchar;
v_one_arg varchar;
v_one_type varchar;
v_nargs integer;
v_src text;
v_rettype varchar;
BEGIN
select proargtypes, pronargs, number_src(prosrc),
(select typname from pg_type where oid = p.prorettype::integer)
into v_args, v_nargs, v_src, v_rettype
from pg_proc p
where proname = fname::name
and proargtypes = args;
v_funcdef := v_funcdef || '
create or replace function ' || fname || '(';
v_pos := position(' ' in v_args);
while nargs < v_nargs loop
nargs := nargs + 1;
if nargs = v_nargs then
v_one_arg := v_args;
v_args := '';
else
v_one_arg := substr(v_args, 1, v_pos - 1);
v_args := substr(v_args, v_pos + 1);
v_pos := position(' ' in v_args);
end if;
select case when nargs = 1
then typname
else ',' || typname
end into v_one_type
from pg_type
where oid = v_one_arg::integer;
v_funcdef := v_funcdef || v_one_type;
end loop;
v_funcdef := v_funcdef || ') returns ' || v_rettype || E' as ''\n' || v_src || ''' language ''plpgsql'';';
return v_funcdef;
END;
$$ LANGUAGE plpgsql stable strict;
glad we have a happy end!
-g