我正在Mac(10.10.4)上运行Postgres(postgis)9.4.2。
我有几个大桌子(几个TB)。
在其中一个索引建立大约一个星期的过程中,我看到了可用的HD空间下降,正如您所期望的那样,当断电持续时间比电池单元和系统更长时,索引将接近完成索引的时间点下去了。fillfactor=100
由于它是静态数据源,因此在构建过程中需要缓冲。重新启动后,驱动器上剩余的可用空间恰好接近索引构建即将结束时的位置。真空分析无法释放空间。
我试着放下桌子并重新吃东西,但并没有减少空间。现在,我在一个没有足够空间来建立索引的地方。
索引构建期间生成的文件是否卡在某个状态中,由于机器在断电期间停机而无法被系统删除?
当我查看db中的表大小+索引(这是该驱动器上的唯一数据)时,它们的总和约为6TB。该驱动器为8TB,而驱动器上剩余的空间不足500GB,因此似乎某个地方丢失了约1.5TB的数据,其大小与索引的大小差不多。
有任何想法吗?
SELECT indexrelid::regclass, indrelid::regclass FROM pg_catalog.pg_index WHERE NOT indisvalid;
给您的吗?
SELECT r.relname, r.relkind, n.nspname FROM pg_class r INNER JOIN pg_namespace n ON r.relnamespace = n.oid WHERE relkind = 'i';