我们正在使用9.2 postgresql数据库。
我们有425 of大小的数据库。在这425 GB中,索引占用的空间约为40 %至60%。分配给这台机器的Ram为32 to,配置参数如下。
max_connections = 800
shared_buffers = 9GB
effective_cache_size = 18GB
work_mem = 10MB
maintenance_work_mem = 1536MB
checkpoint_segments = 50
wal_keep_segments = 80
checkpoint_completion_target = 0.9
wal_buffers = 16MB
Max_prepared_transactions =0
synchronous_commit = on
为了获得数据库的备份,我们使用pg_basebackup实用程序。但这需要几个小时(大约18小时)。请指导我哪些配置参数需要修改以减少pg_basebackup实用程序所花费的时间。
是否有可能在使用pg_basebackup时排除索引数据?
pg_basebackup实用程序取决于哪些参数?
是否有可能在多线程中运行pg_basebackup?
为了提高使用pg_basebackup实用程序备份数据库的速度,我们关闭数据库并单独启动数据库服务。在那之前,其他的服务是不会运行的。我们观察到了一些改进,但是我们需要执行的任何其他事情都可以减少pg_basebackup实用程序所花费的时间。
我们使用下面的命令进行数据库的备份。任何减少backup语句所需时间的改进。
$PGHOME/bin/pg_basebackup -p 5433 -U postgres -P -v -x --format=tar --gzip --compress=6 --pgdata=- -D /opt/backup_db
发布于 2018-01-13 09:29:58
https://www.postgresql.org/docs/9.2/static/app-pgbasebackup.html
pg_basebackup生成数据库集群文件的二进制副本。 ..。 备份将包括数据目录和表空间中的所有文件,包括配置文件和第三方放置在目录中的任何其他文件。
(格式化我的)
full_page_writes
和wal_max_senders
如果您从hot_standby备份-但这不会影响速度)。pg_dump
允许一个数字作业,而不是pg_basebackup
。尝试在没有压缩歌曲的情况下进行复制--可能会节省时间,或者不会,取决于什么是瓶颈-- CPU或IO。
https://stackoverflow.com/questions/48241712
复制