gpt4 book ai didi

performance - PostgreSQL:改进 pg_dump、pg_restore 性能

转载 作者:行者123 更新时间:2023-11-29 11:05:13 25 4
gpt4 key购买 nike

开始时,我使用默认纯格式的 pg_dump。我没有开悟。

研究向我揭示了使用 pg_dump -Fc | 改进了时间和文件大小gzip -9 -c > dumpfile.gz。我开悟了。

当需要重新创建数据库时,

# create tablespace dbname location '/SAN/dbname';
# create database dbname tablespace dbname;
# alter database dbname set temp_tablespaces = dbname;

% gunzip dumpfile.gz # to evaluate restore time without a piped uncompression
% pg_restore -d dbname dumpfile # into a new, empty database defined above

我感到很茫然:恢复花了 12 个小时来创建数据库,而这只是 future 的一小部分:

# select pg_size_pretty(pg_database_size('dbname'));
47 GB

因为有人预测这个数据库会有几 TB,所以我现在需要考虑提高性能。

请赐教。

最佳答案

首先检查您的磁盘设置是否获得合理的 IO 性能。然后检查您的 PostgreSQL 安装是否适当调整。特别是 shared_buffers 应该正确设置,maintenance_work_mem 应该在恢复期间增加,full_page_writes 应该在恢复期间关闭,wal_buffers 在恢复期间应该增加到 16MB,checkpoint_segments 在恢复期间应该增加到大约 16,你不应该有任何不合理的登录(比如记录每条执行的语句),auto_vacuum 应在恢复期间禁用。

如果您使用的是 8.4,还可以尝试并行恢复,即 pg_restore 的 --jobs 选项。

关于performance - PostgreSQL:改进 pg_dump、pg_restore 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2094963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com