【发布时间】:2020-10-21 07:46:46
【问题描述】:
我正在使用pg_restore 来恢复使用pg_dump 备份的 Postgresql 数据库。 (备份和恢复都在 PostgreSQL 12 上进行)。使用自定义格式选项--format=custom 进行备份。
10 GB 备份的还原大约需要 30 分钟。随着备份大小的增加,恢复时间会显着增加。所以我尝试了--jobs 参数来缩短恢复时间。
根据documentation,将使用并发连接来恢复数据库对象。我验证了 restore 的输出,并且可以验证启动的并行线程等于 --jobs 参数的值。但是,--jobs 参数的任何值都没有改善恢复时间。
我知道性能取决于硬件基础架构。但是这台机器有 16 个 vcpus 和 32GB 内存。
我还尝试使用以下配置调整 blog 中提到的 Postgres,但恢复时间仍然没有改善。
工作内存 = 32MB 共享缓冲区 = 4GB 维护工作内存 = 2GB full_page_writes = 关闭 自动真空 = 关闭 wal_buffers = -1有什么我错过的吗?如何缩短恢复时间?
【问题讨论】:
标签: postgresql pg-restore