Обсуждение: Database recovery due to out of disk space

Поиск
Список
Период
Сортировка

Database recovery due to out of disk space

От
M4N - Dennis Brouwer
Дата:
While implementing a warm standby server lightning struck, the WAL files
supposed to be shipped to the warm standby server caused the filing
system to be out of disk space. In order to quickly reclaim disk space
we removed some of the WAL files written to pg_xlogs (very stupid we
know). A corrupted database resulted.

We are trying to recover this database on a different server and
re-indexed all (but one) tables, only one -unimportant- table refuses to
be re-indexed or even dropped.  We desperately want to drop this single
table (it's recreated constantly) but we can not, the following message
is given:

DROP TABLE statistics_sliding_per_merchant;
ERROR:  1 constraint record(s) missing for rel
statistics_sliding_per_merchant

Question: even if we risk data corruption at any other place would it be
possible to force drop this table by poking around in the template or
postgres database?

Suggestions more then welcome how to force drop this table by
identifying the missing records or other tricks that shouldn't be done
at home.

Most Regards,

Dennis Brouwer


Re: Database recovery due to out of disk space

От
Tom Lane
Дата:
M4N - Dennis Brouwer <dennis.brouwer@m4n.nl> writes:
> We are trying to recover this database on a different server and
> re-indexed all (but one) tables, only one -unimportant- table refuses to
> be re-indexed or even dropped.  We desperately want to drop this single
> table (it's recreated constantly) but we can not, the following message
> is given:

> DROP TABLE statistics_sliding_per_merchant;
> ERROR:  1 constraint record(s) missing for rel
> statistics_sliding_per_merchant

You should be able to deal with that by manually updating
pg_class.relchecks for the table, so that it matches the number of check
constraints actually present.

            regards, tom lane