可以配置PostgreSQL,以便偶尔进行大规模更新可以超快速运行吗?

Ale*_*x R 1 postgresql database-performance bulkupdate

我已经设置了一个PostgreSQL测试环境,它需要包含与生产数据库相同数量的数据(行数),并且主要配置为类似生产,以模拟正常事务的相同性能.

但是,它是一个测试环境,偶尔必须应用一些独特的,实验性的,临时的或临时的更改.例如,在性能测试之前添加或删除一些索引,重新计算列的值以复制测试条件,转储和重新导入整个表等.

有没有办法临时暂停数据完整性保证,以便尽快执行此类类型的批量更新?

例如,在MySQL中,您可以设置超大的写缓冲区,禁用事务日志记录,并在事务提交时挂起磁盘刷新.pgsql中有类似的东西吗?

部署环境是AWS EC2.

a_h*_*ame 6

该手册有一章专门用于初始加载数据库.

您可以更改一些安全选项以加快速度:

然后有一些相当不安全的选择,以使事情更快.不安全的含义:如果服务器崩溃,您可能会丢失所有数据 - 因此使用风险自负!

再次:通过更改上面的两个设置,您可能会丢失所有数据.

要禁用WAL,您还可以将所有表设置为 unlogged