Re: BUG #12832: pg_dump ERROR with temporary functions
От | Tom Lane |
---|---|
Тема | Re: BUG #12832: pg_dump ERROR with temporary functions |
Дата | |
Msg-id | 22146.1425567028@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #12832: pg_dump ERROR with temporary functions (marko@joh.to) |
Список | pgsql-bugs |
marko@joh.to writes: > We've occasionally been having a problem where a script does roughly this: > psql -d dbname -c "CREATE TEMPORARY FUNCTION pg_temp.foo() AS ..; <run a > query using the temporary function a number of times>" > pg_dump -d dbname > And the pg_dump call ERRORs out like this: > pg_dump: [archiver (db)] query failed: ERROR: cache lookup failed for > function 2540046 > pg_dump: [archiver (db)] query was: SELECT tableoid, oid, proname, prolang, > pronargs, proargtypes, prorettype, proacl, pronamespace, > pg_catalog.pg_get_function_identity_arguments(oid) AS proiargs,(SELECT > rolname FROM pg_catalog.pg_roles WHERE oid = proowner) AS rolname FROM > pg_proc p WHERE NOT proisagg AND (pronamespace != (SELECT oid FROM > pg_namespace WHERE nspname = 'pg_catalog') > AND NOT EXISTS (SELECT 1 FROM pg_depend WHERE classid = > 'pg_proc'::regclass AND objid = p.oid AND deptype = 'i')) I think the core of the problem here is an ill-advised decision to use pg_get_function_identity_arguments() at all in the first query. The result is only used for sorting objects, and we could surely do that another way. regards, tom lane
В списке pgsql-bugs по дате отправления: