Обсуждение: pg_temp..
I am cleaning up an old 6.5 postgres installation prior to migrating it over to 7.0.3. Looking in pg_class, I see some tables named pg_temp.<PID>.1 thru 7. I assume these were temp tables that got left behind when a backend with pid <PID> died. Is it safe to delete these rows from pg_class? What else should I do to clean up before migrating everything to 7.0.3? I also see old pg_temp* and pg_sorttemp* in the data directory. I guess I'll be deleting those too. Brian
"Brian Baquiran" <brianb@edsamail.com> writes:
> I am cleaning up an old 6.5 postgres installation prior to migrating it over
> to 7.0.3. Looking in pg_class, I see some tables named pg_temp.<PID>.1 thru
> 7. I assume these were temp tables that got left behind when a backend with
> pid <PID> died. Is it safe to delete these rows from pg_class?
Yes, if the backend PIDs that created 'em aren't around anymore. I'd
suggest DROP TABLE rather than a DELETE FROM pg_class.
> I also see old pg_temp* and pg_sorttemp* in the data directory. I guess I'll
> be deleting those too.
If you like. pg_dump won't notice anything that hasn't got a pg_class
entry, so there's no urgent need for it. Since you've evidently been
having some problems with 6.5, I do suggest a full bore pg_dumpall/
initdb/reload cycle rather than trying to squeeze by with pg_upgrade.
regards, tom lane
From: "Tom Lane" <tgl@sss.pgh.pa.us> > "Brian Baquiran" <brianb@edsamail.com> writes: > > Looking in pg_class, I see some tables named pg_temp.<PID>.1 thru > > 7. Is it safe to delete these rows from pg_class? > > Yes, if the backend PIDs that created 'em aren't around anymore. I'd > suggest DROP TABLE rather than a DELETE FROM pg_class. Tried that. I get "ERROR: class "pg_temp.6004.0" is a system catalog". Is it because it starts with "pg_"? > > I also see old pg_temp* and pg_sorttemp* in the data directory. I guess I'll > > be deleting those too. > > If you like. Thanks Tom. Brian
"Brian Baquiran" <brianb@edsamail.com> writes:
> Is it safe to delete these rows from pg_class?
>>
>> Yes, if the backend PIDs that created 'em aren't around anymore. I'd
>> suggest DROP TABLE rather than a DELETE FROM pg_class.
> Tried that. I get "ERROR: class "pg_temp.6004.0" is a system catalog". Is
> it because it starts with "pg_"?
Um. Yeah, probably so. Sometimes that looks like a feature, and
sometimes it looks like a bug ;-)
regards, tom lane