PostgreSQL - заброшенные файлы данных во временном табличном пространстве - PullRequest
0 голосов
/ 15 апреля 2019

Я попытался найти информацию об этой проблеме, но, возможно, я не использую подходящие ключевые слова для поиска ...

Мне нужно реорганизовать табличные пространства в одной из наших баз данных PostgreSQL 11, и я переместил все существующие объектыиспользуя ALTER TABLE (INDEX) ... SET TABLESPACE ... для новых местоположений на основе наших текущих потребностей, но команда DROP TABLESPACE заканчивается ошибкой «табличное пространство ... не пусто».(Этот диск должен быть удален, поэтому мне нужно удалить это табличное пространство.)

Я проверил на уровне ОС, и каталог табличного пространства все еще содержит несколько файлов, таких как "1154158" с размером 0 или 8192. Я проверил в pg_class ибольше нет объектов PG с этими OID.

Наша документация показывает несколько сбоев этой базы данных именно в метках времени, которые я вижу в этих файлах в списке каталогов.PostgreSQL был убит в этих случаях убийцей OOM из-за проблем с памятью - мы уже решили это, поэтому никаких новых случаев не было.

Но мне нужно решить, что делать с этими файлами.Так как это табличное пространство в те дни использовалось как temp_tablespace, я предполагаю, что это старые временные файлы или файлы данных временных таблиц, которые не были должным образом удалены в PostgreSQL из-за сбоя - PG зависал при очень тяжелых вычислениях, которые всегда производили много временных файлов.

Есть ли какой-нибудь способ убедиться, что эти файлы данных действительно являются заброшенными старыми файлами данных / временных файлов, которые не могут быть удалены из-за сбоя?Могу ли я, например, посмотреть историю временных файлов где-нибудь - с их именами?Спасибо ...

...