Thread: my schema + sql function
Hi, In my schema : "my" I create sql function CREATE OR REPLACE FUNCTION my.my_foo(int4) RETURNS varchar AS ' select k.k_dupa ||coalesce( '' ['' || k.k_number || '']'' ,'''') from kont k where k_id = $1; ' LANGUAGE 'sql'; table kont is in schema public. Everythink working ok, but when I try to restore backup system write : pg_restore: [archiver (db)] could not execute query: ERROR: Relation "kont" does not exist pg_restore: *** aborted because of error Marek Wróbel
Marek "Wróbel" <netim@icentrum.pl> writes: > In my schema : "my" I create sql function > CREATE OR REPLACE FUNCTION my.my_foo(int4) RETURNS varchar AS ' > select k.k_dupa ||coalesce( '' ['' || k.k_number || '']'' ,'''') > from kont k > where k_id = $1; > ' LANGUAGE 'sql'; > table kont is in schema public. > Everythink working ok, but when I try to restore backup system write : > pg_restore: [archiver (db)] could not execute query: ERROR: Relation "kont" does not exist > pg_restore: *** aborted because of error Probably table "kont" didn't exist when you first created that function? pg_dump isn't very smart about rearranging the order of object creation to handle such dependencies. You'll need to manually adjust the dump order to deal with this. There are options to pg_restore that you can use to change the order in which it reload objects. regards, tom lane