Обсуждение: pg_views view doesn't work
Hi all,
I am having a problem with the "pg_views" view. It seems that the
internal function pg_get_viewdef() is the problem. See below.
This problem is preventing me from dumping the database (either as 1
export or 1 table at a time). I have recreated the database, but the
problem seems to have come back again last night. If I create a new
database now the problem doesn't happen.
Thanks
Jim
TEST=# select version();
version
---------------------------------------------------------------------
PostgreSQL 7.1.2 on i686-pc-linux-gnu, compiled by GCC egcs-2.91.66
(1 row)
TEST=# select * from pg_views;
ERROR: cache lookup for proc 189295778 failed
TEST=#
TEST=# \d pg_views
View "pg_views"
Attribute | Type | Modifier
------------+------+----------
viewname | name |
viewowner | name |
definition | text |
View definition: 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");
TEST=# select pg_get_viewdef(c.relname) from pg_class c;
ERROR: cache lookup for proc 189295778 failed
TEST=#
"Jim Buttafuoco" <jim@spectrumtelecorp.com> writes:
> I am having a problem with the "pg_views" view. It seems that the
> internal function pg_get_viewdef() is the problem. See below.
It looks to me like you've got some one view that refers to a
no-longer-existent function. To figure out which it is, try
"select * from pg_views limit N" for various N until you know
where the failing row is, then extract just the viewname of that
row.
regards, tom lane
Tom Thanks for your reply. I dropped ALL of my views and recreated from a script. This seems to have worked. I am running my nightly jobs now to see if some how they are causing the views to break. I will report back later. Jim > "Jim Buttafuoco" <jim@spectrumtelecorp.com> writes: > > I am having a problem with the "pg_views" view. It seems that the > > internal function pg_get_viewdef() is the problem. See below. > > It looks to me like you've got some one view that refers to a > no-longer-existent function. To figure out which it is, try > "select * from pg_views limit N" for various N until you know > where the failing row is, then extract just the viewname of that > row. > > regards, tom lane > >