Thread: ERROR: fixrdesc: no pg_class entry for pg_class
Hi, yes i know, this question has already been asked and i found it in the archives, but i didnt find an answer for this problem, so maybe one of you can help me? My PostgreSQL Database has been up and running exactly for one year, but last week after rebooting the error message "fixrdesc: no pg_class entry for pg_class" appeared on the screen. So is there any way to solve this problem or to recover the data at least? Info: PGSQL 7.2 on Midori Linux, booting from CF with database data stored on the harddisk. Thx in advance -- Thomas Bamesberger <bames@bms-austria.com>
Am Mit, 2003-07-02 um 16.55 schrieb Tom Lane: > Thomas Bamesberger <bames@bms-austria.com> writes: > > My PostgreSQL Database has been up and running exactly for one year, but > > last week after rebooting the error message "fixrdesc: no pg_class entry > > for pg_class" appeared on the screen. So is there any way to solve this > > problem or to recover the data at least? > > Ouch. You have a problem :-( > > Are you seeing this failure when you connect to any database in the > cluster, or just one? There is only one DB... > If the former, I'd guess that you've been > ignoring messages about needing a cluster-wide VACUUM for a little too > long, and you're now hosed due to transaction wraparound. If the > latter, it's probably localized data corruption in that database's > system catalog. Which is not necessarily any better news, but there > are a couple of desperation measures you can try: > > 1. Remove the "pg_internal.init" file in the broken database, then see > if you can start a backend. > > 2. Try to start a standalone backend and reindex the system catalogs. > (See the REINDEX man page for details on this rather arcane procedure.) Thx for your hints, but neither of them did anything else than: "fixrdesc: no pg_class entry for pg_class" :( Any other idea? I really would appreciate it... Thx in advance -- Thomas Bamesberger <bames@bms-austria.com>
Hi all, I need do a update from t1 set col='P' where int_art = (SELECT int_art from t2 ....). I know that thios sentence is not correct but I'd like do the update for everethigs rows that return the select. Is it posible? Tk very much Jose Antonio -----Mensaje original----- De: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org]En nombre de Thomas Bamesberger Enviado el: jueves, 03 de julio de 2003 14:51 Para: Tom Lane CC: pgsql-general@postgresql.org Asunto: Re: [GENERAL] ERROR: fixrdesc: no pg_class entry for pg_class Am Mit, 2003-07-02 um 16.55 schrieb Tom Lane: > Thomas Bamesberger <bames@bms-austria.com> writes: > > My PostgreSQL Database has been up and running exactly for one year, but > > last week after rebooting the error message "fixrdesc: no pg_class entry > > for pg_class" appeared on the screen. So is there any way to solve this > > problem or to recover the data at least? > > Ouch. You have a problem :-( > > Are you seeing this failure when you connect to any database in the > cluster, or just one? There is only one DB... > If the former, I'd guess that you've been > ignoring messages about needing a cluster-wide VACUUM for a little too > long, and you're now hosed due to transaction wraparound. If the > latter, it's probably localized data corruption in that database's > system catalog. Which is not necessarily any better news, but there > are a couple of desperation measures you can try: > > 1. Remove the "pg_internal.init" file in the broken database, then see > if you can start a backend. > > 2. Try to start a standalone backend and reindex the system catalogs. > (See the REINDEX man page for details on this rather arcane procedure.) Thx for your hints, but neither of them did anything else than: "fixrdesc: no pg_class entry for pg_class" :( Any other idea? I really would appreciate it... Thx in advance -- Thomas Bamesberger <bames@bms-austria.com> ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
On Thu, Jul 03, 2003 at 20:37:27 +0200, jose antonio leo <jaleo8@storelandia.com> wrote: > Hi all, > > I need do a update from t1 set col='P' where int_art = (SELECT int_art from > t2 ....). > I know that thios sentence is not correct but I'd like do the update for > everethigs rows that return the select. You want something like: update t1 set col = 'P' from t2 where t1.int_art = t2.int_art;