Re: ERROR: cache lookup for proc 43030134 failed - Mailing list pgsql-hackers

From Kovacs Zoltan
Subject Re: ERROR: cache lookup for proc 43030134 failed
Date
Msg-id Pine.LNX.4.21.0105311646380.19847-100000@pc10.radnoti-szeged.sulinet.hu
Whole thread Raw
In response to Re: ERROR: cache lookup for proc 43030134 failed  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: ERROR: cache lookup for proc 43030134 failed  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thu, 31 May 2001, Tom Lane wrote:

> Kovacs Zoltan <kovacsz@pc10.radnoti-szeged.sulinet.hu> writes:
> > Starting pg_dump, this error occured (there is no output dump,
> > unfortunately). Getting closer, I got this:
> 
> > tir=# SELECT pg_get_viewdef(c.relname) AS definition FROM pg_class c
> > offset 441 limit 1;
> > ERROR:  cache lookup for proc 4303134 failed
> 
> I think you've got a view or rule that refers to a function you dropped.

It seems that there is a problem with the views. The SELECT you can see
above is a part of the definition of pg_views. But consider this:

tir=# SELECT c.relname AS viewname, pg_get_userbyid(c.relowner) AS
viewowner, pg_get_viewdef(c.relname) AS definition FROM pg_class c WHERE
(c.relkind = 'v'::"char") limit 21 offset 1;
ERROR:  cache lookup for proc 4303134 failed

It means that the 21st line of the result is problematic, because writing
20 instead of 21 I got no problem. Consider this:

tir=# SELECT c.relname AS viewname, pg_get_userbyid(c.relowner) AS
viewowner FROM pg_class c WHERE (c.relkind = 'v'::"char") offset 21 limit
1; viewname   | viewowner
-------------+-----------felhasznalo | postgres
(1 row)

This is the problematic view. I selected only its name, not the
definition. But selecting this:

tir=# SELECT c.relname AS viewname, pg_get_userbyid(c.relowner) AS
viewowner, pg_get_viewdef(c.relname) AS definition FROM pg_class c WHERE
(c.relkind = 'v'::"char") and c.relname = 'felhasznalo'; viewname   | viewowner |      definition

-------------+-----------+------------------------------------------------------------------------------------------------------------------------------------felhasznalo
|postgres  | SELECT szemely.az, szemely.nev,
 
szemely.teljes_nev FROM szemely WHERE ((1 <= szemely.felhasznalo) AND
(szemely.felhasznalo <= 2));
(1 row)

I get no problem, it gives the definition. Why?

TIA, Zoltan



pgsql-hackers by date:

Previous
From: djohnson@sourcesoft.org
Date:
Subject: Re:Sync Data
Next
From: Paulo Angelo
Date:
Subject: Re:Sync Data