[BUGS] BUG #5504: cache lookup failed for function

2010-06-13 Thread Jan Merka

The following bug has been logged online:

Bug reference:  5504
Logged by:  Jan Merka
Email address:  me...@highsphere.net
PostgreSQL version: 8.4.4 and 8.4.3
Operating system:   Linux
Description:cache lookup failed for function
Details: 

After installing postgresql 8.4.4 from sources, I am getting an error 
ERROR:  cache lookup failed for function 2071

Test case:

 SELECT date '2010-01-01'  + interval '1 month';
ERROR:  cache lookup failed for function 2071

So it seems like adding an interval to date does not work anymore. Why? And
how do I fix it?

I have tried to go back to the 8.4.3 version but it now exhibits the same
problem even though it worked fine until the 8.4.4 version was installed.

What can I do to fix it or help you with fixing?

Thank you,

Jan

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


Re: [BUGS] BUG #5504: cache lookup failed for function

2010-06-13 Thread Tom Lane
Jan Merka me...@highsphere.net writes:
 After installing postgresql 8.4.4 from sources, I am getting an error 
 ERROR:  cache lookup failed for function 2071

 Test case:

 SELECT date '2010-01-01'  + interval '1 month';
 ERROR:  cache lookup failed for function 2071

Works for me:

psql (8.4.4)
Type help for help.

regression=# SELECT date '2010-01-01'  + interval '1 month';
  ?column?   
-
 2010-02-01 00:00:00
(1 row)

The error indicates a failure to fetch the pg_proc entry for
date_pl_interval, which might indicate system catalog corruption,
or it might mean there is something wrong with your postgres executable.
Can you do the command in other database(s) in the same installation?
What do you get from select * from pg_proc where oid = 2071; ?
(If nothing, also try it with enable_indexscan and enable_bitmapscan
turned off.)

regards, tom lane

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


Re: [BUGS] BUG #5504: cache lookup failed for function

2010-06-13 Thread Jan Merka
On Sunday, June 13, 2010, Tom Lane wrote:
 Jan Merka me...@highsphere.net writes:
  After installing postgresql 8.4.4 from sources, I am getting an error
  ERROR:  cache lookup failed for function 2071
  
  Test case:
  
  SELECT date '2010-01-01'  + interval '1 month';
  ERROR:  cache lookup failed for function 2071
 
 Works for me:
 
 psql (8.4.4)
 Type help for help.
 
 regression=# SELECT date '2010-01-01'  + interval '1 month';
   ?column?
 -
  2010-02-01 00:00:00
 (1 row)
 
 The error indicates a failure to fetch the pg_proc entry for
 date_pl_interval, which might indicate system catalog corruption,
You are correct, at least one database must be corrupted. 

In the corrupted database:
= SELECT * from pg_proc WHERE oid = 2071;
 proname | pronamespace | proowner | prolang | procost | prorows | provariadic 
| proisagg | proiswindow | p
rosecdef | proisstrict | proretset | provolatile | pronargs | pronargdefaults 
| prorettype | proargtypes | 
proallargtypes | proargmodes | proargnames | proargdefaults | prosrc | probin 
| proconfig | proacl 
-+--+--+-+-+-+-+--+-+--
-+-+---+-+--+-++-+-
---+-+-++++---+
(0 rows)


In the 'postgres' database:
= SELECT * from pg_proc WHERE oid = 2071;
 proname  | pronamespace | proowner | prolang | procost | prorows | 
provariadic | proisagg | proisw
indow | prosecdef | proisstrict | proretset | provolatile | pronargs | 
pronargdefaults | prorettype | proar
gtypes | proallargtypes | proargmodes | proargnames | proargdefaults |  
prosrc  | probin | proconfi
g | proacl 
--+--+--+-+-+-+-+--+---
--+---+-+---+-+--+-++--
---++-+-++--++-
--+
 date_pl_interval |   11 |   10 |  12 |   1 |   0 | 
  
0 | f| f 
  | f | t   | f | i   |2 |  
 
0 |   1114 | 1082 
1186   || | || 
date_pl_interval || 
  | 

 or it might mean there is something wrong with your postgres executable.
 Can you do the command in other database(s) in the same installation?
 What do you get from select * from pg_proc where oid = 2071; ?
 (If nothing, also try it with enable_indexscan and enable_bitmapscan
 turned off.)
I have dumped the database with corrupted pg_proc and restored into a new 
database and the error is now gone.

Would you like me to investigate more about the database corruption?

Cheers,

Jan
 
   regards, tom lane


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