加快GIN索引的创建速度

时间:2014-05-20 08:25:12

标签: postgresql indexing

我正在尝试在hstore列上创建GIN索引,每行平均3KB和2.5M行。这需要很长时间(我在40分钟后放弃了)。吉斯在几分钟内回来了。有什么方法可以加快速度(或任何想法需要多长时间......)?我尝试增加maintenance_work_mem,但是如果我将它推过1GB postgres拒绝启动,抱怨postgresql.conf中有错误。 环境:Windows 7 64位,8GB RAM,Intel Core i5和SSD驱动器。 任何帮助/建议表示赞赏!

更新:尝试在创建索引之前更改参数。这就是我得到的......

错误:2097152超出参数“maintenance_work_mem”的有效范围(1024 .. 2097151) ****** 错误 ******

错误:2097152超出参数“maintenance_work_mem”的有效范围(1024 .. 2097151) SQL状态:22023

1 个答案:

答案 0 :(得分:2)

增加maintenance_work_mem是良好的杜松子酒索引创建速度的关键。我当然可以将它增加到1GB以上,所以你必须做错了,但是没有看到确切的错误信息或conf文件中的行,很难说它可能是什么。

但是增加配置文件中的设置只是为了创建一个索引是一个不好的做法,你应该在正在创建的会话中增加它,使用类似的东西:

set maintenance_work_mem TO "5GB";