Re: Problem creating a database

Поиск
Список
Период
Сортировка
От Joshua White
Тема Re: Problem creating a database
Дата
Msg-id CAGY1NO=s6qMJtv-yTqoGM8hCAKTsojKdueJSk2AW+HsnDXtKOg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Problem creating a database  (Joshua White <joshua.white@monash.edu>)
Ответы Re: Problem creating a database  (Laurenz Albe <laurenz.albe@cybertec.at>)
GIN Index for low cardinality  (Ravi Krishna <srkrishna1@aol.com>)
Список pgsql-general
> > > Recently I attempted to create a new database in this cluster. The command succeeds,
> > > but when I try to connect to the new database, I get a "could not open file" error:
> > >
> > > psql: FATAL:  could not open file "base/618720/2610": No such file or directory
> > >
> >
> > Looks like the file backing the "pg_index" table is gone.
> >
> > Can you check if the file exists in the data directory or not?
>
> Thanks for the tip. I've checked and the on-disk file behind "pg_index" still exists.
>
> I have existing databases in this cluster that I'd prefer not to drop and recreate if possible.
>
> I've tried dropping and recreating the new database I want to use, but each time get the same type of error.

"pg_index" initially uses file 2610.

Anyway, your database seems to be quite wrecked, and you'd probably need
an expert to save what can be saved.


So you're right about it being seriously corrupted somehow. All my custom databases seem to work fine. I have data checksums and amcheck enabled and haven't found any issues using the query below.

SELECT bt_index_check(index => c.oid), c.relname, c.relpages
FROM pg_index i
JOIN pg_opclass op ON i.indclass[0] = op.oid
JOIN pg_am am ON op.opcmethod = am.oid
JOIN pg_class c ON i.indexrelid = c.oid
JOIN pg_namespace n ON c.relnamespace = n.oid
WHERE am.amname = 'btree'
-- Don't check temp tables, which may be from another session:
AND c.relpersistence != 't'
AND i.indisready AND i.indisvalid
ORDER BY c.relpages DESC;

However, when I went to connect to template1, it failed:

# \connect template1
FATAL:  could not open file "base/1/2610": No such file or directory
Previous connection kept

If template1 is corrupt, that would explain why I am unable to create new databases.

Guess it's time to rebuild.

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

Предыдущее
От: Joshua White
Дата:
Сообщение: Re: Problem creating a database
Следующее
От: "Sakai, Teppei"
Дата:
Сообщение: Which index is used in the index scan.