pg_basebackup花费的时间比预期的要长

时间:2018-01-13 16:14:46

标签: postgresql database-administration database-backups postgresql-9.2

我们正在使用9.2 postgresql数据库。

我们有大小为425GB的数据库。在这425 GB中,索引占据了大约40%到60%的空间。分配给这台机器的Ram是32GB,配置参数如下。

 $PGHOME/bin/pg_basebackup -p 5433 -U postgres -P -v -x --format=tar --gzip --compress=6 --pgdata=- -D /opt/backup_db

为了备份数据库,我们正在使用pg_basebackup实用程序。但这需要几个小时(约18小时)。请指导我需要修改哪些配置参数以减少pg_basebackup实用程序所需的时间。

是否有可能在获取pg_basebackup时排除索引数据?

pg_basebackup实用程序取决于哪些参数?

是否有可能在多线程中运行pg_basebackup?

为了提高使用pg_basebackup实用程序备份数据库的速度,我们关闭了数据库并启动了单独的数据库服务。直到那时其他服务将无法运行。我们观察到了一些改进,但我们需要执行任何其他操作来减少pg_basebackup实用程序所花费的时间。

我们使用下面的命令来备份数据库。任何改进都可以减少备份声明所花费的时间。

Sub copy1()

Sheets("DATABASE").Select

Range("I" & ActiveCell.Row & ":S" & ActiveCell.Row).Copy Sheets("DATABASE").Range("I" & Rows.Count).End(xlUp).Offset(1, 0)


End Sub

1 个答案:

答案 0 :(得分:0)

https://www.postgresql.org/docs/9.2/static/app-pgbasebackup.html

  

pg_basebackup生成数据库集群文件的二进制副本

     

...

     

备份将包括数据目录和表空间中的所有文件,包括配置文件和第三方放置在目录中的任何其他文件。

(格式化我的)

  1. 因此您无法排除索引

  2. 您提到的所有参数都不会明确影响它。如果您从hot_standby备份,则会full_page_writeswal_max_senders - 但这些不会影响速度。)

  3. 不 - 没有多线程。 pg_dump允许数字作业,而不是pg_basebackup
  4. 尝试不使用compressong进行复制 - 可能会节省时间,也可能不会,这取决于什么是瓶颈 - CPU或IO