小编DDB*_*TTE的帖子

Postgres 中的索引生成

我们有一个包含大约 7 亿个条目的单个表的数据库。我们通过在服务器上添加新条目来更新数据库,然后使用 pg_dump 将服务器传输到生产服务器:

pg_dump -c 数据库 > /tmp/database_gen

(顺便说一下,我们使用 postgres 8.4)我们使用 psql 将数据库导出到生产服务器。pg_dump 生成的文件有关于如何创建和填充表的说明。

问题出在索引创建上。Postgres 填充表,然后花费数天时间创建索引。没关系,直到 postgres 无法再创建索引,因为它没有更多的磁盘空间,因为它使用大量磁盘空间来存储临时文件以进行排序和创建索引。通常数据库需要大约 200GB,但在创建索引期间,使用的磁盘空间增加到 600GB,然后在创建后又回到 200GB。

我的问题是:我们可以分几个步骤创建索引,比如为一半的表创建索引,然后添加表的其余部分并更新索引?

有没有人有同样的问题?

谢谢

postgresql index disk-space

4
推荐指数
1
解决办法
1282
查看次数

标签 统计

disk-space ×1

index ×1

postgresql ×1