Re: ERROR: cache lookup for proc 43030134 failed

From: Kovacs Zoltan <kovacsz(at)pc10(dot)radnoti-szeged(dot)sulinet(dot)hu>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: ERROR: cache lookup for proc 43030134 failed
Date: 2001-05-31 14:55:06
Message-ID: Pine.LNX.4.21.0105311646380.19847-100000@pc10.radnoti-szeged.sulinet.hu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 31 May 2001, Tom Lane wrote:

> Kovacs Zoltan <kovacsz(at)pc10(dot)radnoti-szeged(dot)sulinet(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Paulo Angelo 2001-05-31 15:03:27 Re:Sync Data
Previous Message Chris Dunlop 2001-05-31 14:54:41 Australian timezone configure option