想知道是否可以在Postgres中设置默认表空间来存储索引。希望数据库存储在Postgres的默认表空间中,但是希望将索引放在不同的磁盘上,以保持I/O流量分离。
我认为如果没有进行ALTER INDEX TABLESPACE命令,则无法完成此操作,然后索引将被移动并将留在那里,但是数据库和索引是django应用程序的一部分,因此非django干预可能会导致一些问题。
想知道是否可以在Postgres中设置默认表空间来存储索引。希望数据库存储在Postgres的默认表空间中,但是希望将索引放在不同的磁盘上,以保持I/O流量分离。
我认为如果没有进行ALTER INDEX TABLESPACE命令,则无法完成此操作,然后索引将被移动并将留在那里,但是数据库和索引是django应用程序的一部分,因此非django干预可能会导致一些问题。
看起来似乎没有办法指定默认的索引表空间(除了数据库自己的默认表空间)。我一直都是手动指定的。编写一个查询来检查错误表空间中的索引非常容易,因此您至少可以将其安装为数据库监视的一部分。
在我看来,您不应该担心在应用程序之外对数据库进行此类更改,因为这是应用程序无法理解的数据库实现细节。如果应用程序有问题,那么应用程序就有问题。
目前Django支持数据库和indexes的默认表空间:
DEFAULT_INDEX_TABLESPACE 默认值:''(空字符串)
如果后端支持,则用于在未指定字段索引的情况下使用的默认表空间。
DEFAULT_TABLESPACE 默认值:''(空字符串)
如果后端支持,则用于未指定模型的默认表空间。