Relation "pg_relcheck" does not exist

Started by Jeremiah Elliottalmost 23 years ago2 messagesgeneral
Jump to latest
#1Jeremiah Elliott
jelliott@artcobell.com

Ok, I upgraded from postgres 7.2 to 7.3 and now I get this error message:

Relation "pg_relcheck" does not exist

After about 30 seconds of research I found that the cause is that the backend
version and psql version are not the same. What I have been unable to find
is how to fix it. I thought I would put postgres 7.3 on a computer that
didn't have postgres on it at all, and use psql -h to connect to the backend
of the upgraded database

this is the statement that is causing the problems (generated by phppgadmin)
SELECT
rcname as index_name,
rcsrc
FROM
pg_relcheck,
pg_class bc
WHERE
rcrelid = bc.oid
and bc.relname = 'appsettings'
and not exists
(select * from pg_relcheck as c, pg_inherits as i
where i.inhrelid = pg_relcheck.rcrelid
and c.rcname = pg_relcheck.rcname
and c.rcsrc = pg_relcheck.rcsrc
and c.rcrelid = i.inhparent)

when I do psql -V from on the database server it shows that I am running
7.3.2, which is the same as the backend version.
Any clues as to how I would fix this?
thanks
postgres was built with gcc 2.95. the running kernel is 2.4.20
-Jeremiah

#2Stephan Szabo
sszabo@megazone23.bigpanda.com
In reply to: Jeremiah Elliott (#1)
Re: Relation "pg_relcheck" does not exist

On Tue, 13 May 2003, Jeremiah Elliott wrote:

Ok, I upgraded from postgres 7.2 to 7.3 and now I get this error message:

Relation "pg_relcheck" does not exist

After about 30 seconds of research I found that the cause is that the backend
version and psql version are not the same. What I have been unable to find
is how to fix it. I thought I would put postgres 7.3 on a computer that
didn't have postgres on it at all, and use psql -h to connect to the backend
of the upgraded database

this is the statement that is causing the problems (generated by phppgadmin)
SELECT
rcname as index_name,
rcsrc
FROM
pg_relcheck,
pg_class bc
WHERE
rcrelid = bc.oid
and bc.relname = 'appsettings'
and not exists
(select * from pg_relcheck as c, pg_inherits as i
where i.inhrelid = pg_relcheck.rcrelid
and c.rcname = pg_relcheck.rcname
and c.rcsrc = pg_relcheck.rcsrc
and c.rcrelid = i.inhparent)

when I do psql -V from on the database server it shows that I am running
7.3.2, which is the same as the backend version.
Any clues as to how I would fix this?

The above query isn't valid on a 7.3 or newer server, pg_relcheck was
incorporated into pg_constraint AFAIR. There might be a newer version of
phppgadmin that will give you a 7.3 legal query.