我们有一个与世界断开连接的服务器。它是一款高端系统,具有 48GB 内存和 500GB SSD 硬盘,16 核 CPU。我们正在尝试做一个pg_restore
少于 10 个表的简单数据库转储,没有二进制数据或 blob,只有简单的文本(注释系统)。但是一张表大约有200GB的数据,所以它很大。
这个数据库没有其他工作。仅此维护任务。鉴于上述配置,为此目的的最佳设置是什么?PGSQL 的文档对我帮助不大。我的具体问题是关于 wal 设置。
如果我们可以使用整个服务器来做一个pg_restore
,并且这个服务器上除了 PG 之外没有其他东西,我们应该使用什么设置?这就是我们现在所拥有的:
maintenance_work_mem = 1500MB
fsync = off
synchronous_commit = off
wal_level = minimal
full_page_writes = off
wal_buffers = 64MB
#----- checkpoint_segments = 512
#----- max_wal_size = (3 * checkpoint_segments) * 16MB
#-- min_wal_size = 100MB # 80MB is the default
max_wal_size = 24576MB # based on 512 checkpoint_segments
max_wal_senders = 0
wal_keep_segments = 0
archive_mode = off …
Run Code Online (Sandbox Code Playgroud) postgresql performance maintenance postgresql-9.6 postgresql-performance