Hi All

Thanks for your suggestions . But the problem here seems to be with the way 
slony applies triggers . 

The result of below queries in the database gives the following results :

SELECT tgrelid,tgname,tgfoid from pg_trigger;

 

tgrelid    |            tgname          | tgfoid

---------  +----------------------------+--------

   16470   | _clustername_denyaccess_1  |  19119

   16470   | user_defined_trig_1        |  17733

   16470   | user_defined_trig_2        |  17629

   16392   | _cluastername_denyaccess_1 |  20801



msw=# SELECT relname from pg_class where oid=16470;

    relname

----------------

 abc_pkey

(1 row)

 

msw=# SELECT relname from pg_class where oid=16392;

  relname

-----------

 abc

(1 row)

 

The result is like this for all the replicable tables  i.e the denyaccess 
trigger is applied on the table as well as table_pkey with different function 
ids (19119 and 20801 in this case). While function with oid 20801 is available 
in pg_proc table and the corresponding function name is denyaccess( ) but 
function with oid 19119 is not available In database and that's why the error 
"cache lookup failed for function 19119" 

 Now my question is " how denyaccess trigger got applied on table_pkey" while 
denyaccess trigger should have been applied only on  table name and user 
defined triggers should have been applied on table_pkey in slave database. 

Is this a known issue ?? What can lead to  this kind of situation. ??

 

Please help

 
Thanks..
Tamanna
 

-----Original Message-----
From: David Fetter [mailto:da...@fetter.org] 
Sent: Saturday, July 17, 2010 8:45 PM
To: Merlin Moncure
Cc: tamanna madaan; pgsql-general@postgresql.org
Subject: Re: [GENERAL] cache lookup failed for function 19119

On Thu, Jul 15, 2010 at 10:21:52AM -0400, Merlin Moncure wrote:
> On Thu, Jul 15, 2010 at 2:34 AM, tamanna madaan
> <tamanna.ma...@globallogic.com> wrote:
> > Hi All
> >
> > I am using  postgres-8.1.2 .
> >
> > And getting this error "cache lookup failed for function 19119".
> >
> > Can anyone please let me know what could have gone wrong.
> >
> > How can a function go missing . And which function
> >
> > Its talkig about ?? its some postgres's internal function or a user defined
> > function ??
> >
> >  How can I get function name corresponding 19119
> 
> The function is either gone (it was deleted manally from pg_proc for
> example), dropped, added, etc. or there is some other problem. You
> might be able to fix the problem by recreating the function
> (create/replace) that is calling the function in question (your
> database log should be giving you some context).
> 
> You are on 8.1.2 which is crazy.  you need to immediately get the
> latest bugfix release for the 8.1 series.  You might want to consider
> a dump/reload...read the release notes for the 8.1 series here:
> http://www.postgresql.org/docs/8.1/static/release.html.

You might also want to note that 8.1's end of life is in November, so
start planning the upgrade to 9.0 right now.  You will likely need to
clean up some client code in order for that to work, as modern
versions of PostgreSQL don't allow some of the sloppy and dangerous
things (casting automatically to and from text, e.g.) that former
versions did.

Cheers,
David.
-- 
David Fetter <da...@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to