Ale*_*x R 1 postgresql database-performance bulkupdate
我已经设置了一个PostgreSQL测试环境,它需要包含与生产数据库相同数量的数据(行数),并且主要配置为类似生产,以模拟正常事务的相同性能.
但是,它是一个测试环境,偶尔必须应用一些独特的,实验性的,临时的或临时的更改.例如,在性能测试之前添加或删除一些索引,重新计算列的值以复制测试条件,转储和重新导入整个表等.
有没有办法临时暂停数据完整性保证,以便尽快执行此类类型的批量更新?
例如,在MySQL中,您可以设置超大的写缓冲区,禁用事务日志记录,并在事务提交时挂起磁盘刷新.pgsql中有类似的东西吗?
部署环境是AWS EC2.
该手册有一章专门用于初始加载数据库.
您可以更改一些安全选项以加快速度:
minimaloffoff然后有一些相当不安全的选择,以使事情更快.不安全的含义:如果服务器崩溃,您可能会丢失所有数据 - 因此使用风险自负!
offoff再次:通过更改上面的两个设置,您可能会丢失所有数据.
要禁用WAL,您还可以将所有表设置为 unlogged