Re: pg_class.relnamespace NOT IN pg_namespace.oid

Поиск
Список
Период
Сортировка
От Ireneusz Pluta
Тема Re: pg_class.relnamespace NOT IN pg_namespace.oid
Дата
Msg-id 4F4BFC30.8010209@wp.pl
обсуждение исходный текст
Ответ на Re: pg_class.relnamespace NOT IN pg_namespace.oid  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: pg_class.relnamespace NOT IN pg_namespace.oid
Список pgsql-general
W dniu 2012-02-27 21:59, Tom Lane pisze:
> Ireneusz Pluta<i..@wp.pl>  writes:
>> It apperas that I have some entries in pg_class that have relnamespace not appearing in
>> pg_namespace. So pg_dump fails with "pg_dump: schema with OID 52072764 does not exist", I guess.
> That's a bit disturbing --- do you have any idea what triggered that?

Not exactly. This is an environment where a user running his periodic reports, per logic of his
script, for each run creates a new schema which then serves as a separated runtime sandbox. The
schema after such a run is left alone uselessly unless one eventualy wants to look into for
comparing with other runs or debugging, I guess. Just a subject of further garbage collecting. It
may happen that not each run finishes succesfully, particularly in cases of manual runs on a
development/debugging course and Ctrl-C hits. The orphaned tables seem to be the same as appearing
in another schemas I see here. They are not complete set of what can be seen in another schemas,
just two out of much more.
>> How to get rid of or fix these damaged entries? Just try to delete from pg_class manually (and then
>> delete files pointed to by their relfilenode)? Or create a new schema and update
>> pg_class.relnamespace to the oid of the new schema and then inspect and drop?
> I'd do the latter I think.  Keep in mind that there are probably also
> entries in pg_depend linking the tables to the schemas.  If your goal is
> only to get to a clean dumpable state and then dump and reload the
> database, you probably don't need to worry about fixing pg_depend.
> However, if you intend to keep on using the database without a reload,
> it'd be prudent to make sure pg_depend is straightened out as well.

I found rows of missing namespace oid in pg_depend.refobjid. I understand that I update them to oid
of a newly created empty schema?

But, as in the menatime I played with the case separately on a test database, I found also pg_type
entries need fixing. I was not aware of pg_depend, but found that after only tweaking both pg_class,
and pg_type the database got dumpable.

В списке pgsql-general по дате отправления:

Предыдущее
От: "James B. Byrne"
Дата:
Сообщение: Re: Having a problem with RoR-3.1.1 and Pg-9.1
Следующее
От: Josh Hemann
Дата:
Сообщение: PL/Python on Postgres 9.1