В общем, ситуация такая. При переезде базы на другой сервер нужно было навести порядок в tablespace'ах. Есть специальный tablespace для индексов *_index. Из-за того, что сервера разные по дисковой конфигурации и tablespace'ы реализованы симлинками (т.е. location tablespace'a это папка /opt/.... , которая является симлинком уже на /mnt/... и т.д.) пришлось делать сначала
CREATE TABLESPACE ***_index_temp на нужное место, потом ALTER INDEX SET TABLESPACE, потом DROP старый TABLESPACE и RENAME новый TABLESPACE. Когда сделал альтер для всех индексов, попытался дропнуть, он ругается, что tablespace не пустой. Проверял, индексов ни таблиц там не лежит. Физически там лежит файл 40kb. С таблицами такая шляпа прокатила на ура, везде стал порядок. А вот здесь оказалась собака зарыта. Что там может лежать? В каких pg_ таблицах я могу это накопать?
В общем, поковырялся, нигде в
В общем, поковырялся, нигде в pg_class я не нашел ни одного объекта, который лежит в этом tablespace.
Там лежит 40Кб файл 74176986. Смотрю в pg_class лежит ли какой-нибудь объект в этом файле:
select * from pg_class where relfilenode = 74176986;
relname | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | reltoastrelid | reltoastidxid | relhasindex | relisshared | relpersistence | relkind | relnatts | relchecks | relhasoids | relhaspkey | relhasrules | relhastriggers | relhassubclass | relfrozenxid | relacl | reloptions
---------+--------------+---------+-----------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+-------------+-------------+----------------+---------+----------+-----------+------------+------------+-------------+----------------+----------------+--------------+--------+------------
(0 rows)
База говорит, что в этом файле нет ни одного объекта.
Делаю вывод, что это мусор. Есть еще какие-нибудь мысли?