Re: postgres catalog files problem

From: "Josh Harrison" <joshques(at)gmail(dot)com>
To: "Erik Jones" <erik(at)myemma(dot)com>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: postgres catalog files problem
Date: 2007-09-17 17:31:29
Message-ID: 8d89ea1d0709171031j46ecee92o478f63ccf9201a76@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thanks.
Actually Im currently testing "oracle to postgres migration" with a small
dataset. I haven't started working with the real dataset. I wanted to check
with a small dataset before I start with the big one.
I know the records that I deleted from the pg_class file. so what do i do
next? Will it help if I drop the problematic tables and recreate them? (like
i said im currently testing with a small datset only and my real data are in
oracle and they are not messed in nay way). What will happen to my catalog
files if i do that?
Josh

n 9/17/07, Erik Jones <erik(at)myemma(dot)com> wrote:
>
> On Sep 17, 2007, at 11:57 AM, Josh Harrison wrote:
> >
> > On 9/17/07, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote: "Josh Harrison"
> > <joshques(at)gmail(dot)com> writes:
> > > When i try to give this query
> >
> > > UPDATE payment
> > > SET desc='New description'
> > > WHERE payment_id='xyz'
> >
> > > I got the error
> > > ERROR: could not open relation with OID 672178
> >
> > Hmm, there apparently *is* a pg_class row for relation 'payment', else
> > you'd not get this far, and I'll bet it's got OID 672178 --- try
> > "select
> > oid from pg_class where relname = 'payment'" to see. If so, it seems
> > likely that this is just an index corruption and you can get out of it
> > by REINDEXing pg_class_oid_index. Depending on what PG version you
> > are
> > using, that may require special setup --- read the REINDEX reference
> > page *for your version* before proceeding.
> >
> > What version is it, anyway, and what were you doing before you got
> > this
> > error the first time? This isn't exactly an everyday type of problem.
> >
> > regards, tom lane
> > Hi,
> > Yes...there is a relation in pg_class with the name 'payment' but
> > its oid is not 672178. So why is it giving me "could not open
> > relation with OID 672178" when i try an update statement ?
> > I use version 8.2. I think the problem started when i manually
> > deleted some rows from the pg_class catalog file instead of using
> > 'drop table' sql command. Do you think this created the problem?
> >
> > Thanks
> > josh
> >
>
> Yep, that would do it. Never manually edit catalog tables unless you
> *really* know what you're doing and then think ten times about it
> first. My guess is that you deleted an entry for a TOAST table or
> index on that table and there are still entries in pg_depend (as well
> as others) so that when you try to access that table it isn't finding
> the related, dependant objects. Others may know more, but I don't
> know enough to help you get your catalogs back in order past
> restoring from a backup. Also, if I were you I'd see if you can get
> a dump of the current database first thing. Do you know what you
> deleted from pg_class?
>
>
> Erik Jones
>
> Software Developer | Emma(r)
> erik(at)myemma(dot)com
> 800.595.4401 or 615.292.5888
> 615.292.0777 (fax)
>
> Emma helps organizations everywhere communicate & market in style.
> Visit us online at http://www.myemma.com
>
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Erik Jones 2007-09-17 17:35:52 Re: postgres catalog files problem
Previous Message SHARMILA JOTHIRAJAH 2007-09-17 17:17:54 creation of tables with warnings