在分区 table 上同时创建索引
create index concurrently on partitioned table
我正在使用 postgresql 14.1,我使用 parititons 为一些表重新创建了我的实时数据库。
自从我这样做后,我可以在服务器未运行时创建索引,但当它运行时我只能创建使用 concurrently
但不幸的是,当我尝试同时创建索引时,我得到了一个错误。
运行 这个:
create index concurrently foo on foo_table(col1,col2,col3));
提供错误:
ERROR: cannot create index on partitioned table "foo_table" concurrently
现在它是一个实时服务器,我不能同时创建索引,我需要创建一些索引以提高性能。有什么想法吗?
谢谢
没问题。首先,使用 CREATE INDEX CONCURRENTLY
在每个分区上创建索引。然后使用 CREATE INDEX
在分区 table 上创建索引。这样会很快,分区上的索引会变成索引的分区。
我正在使用 postgresql 14.1,我使用 parititons 为一些表重新创建了我的实时数据库。
自从我这样做后,我可以在服务器未运行时创建索引,但当它运行时我只能创建使用 concurrently
但不幸的是,当我尝试同时创建索引时,我得到了一个错误。
运行 这个:
create index concurrently foo on foo_table(col1,col2,col3));
提供错误:
ERROR: cannot create index on partitioned table "foo_table" concurrently
现在它是一个实时服务器,我不能同时创建索引,我需要创建一些索引以提高性能。有什么想法吗?
谢谢
没问题。首先,使用 CREATE INDEX CONCURRENTLY
在每个分区上创建索引。然后使用 CREATE INDEX
在分区 table 上创建索引。这样会很快,分区上的索引会变成索引的分区。