我在Postgresql 9.2中有一个20 Tb数据库,我不知道如何有效地创建备份.它是一个每天都在增长一点点的数据库,在每个月的1个月里它增长了大约200 Gb.
我正在考虑做一个pg_dump,但每个月都需要做太多,然后我想做一次,然后用副本备份新的或更改的表,但我不能停止使用数据库为了创建第一个转储,所以我不确切地知道备份包含哪些数据.
如何在不停止使用数据库的情况下进行增量备份?
PostgreSQL manual中广泛涵盖了备份.
要实现连续备份,请归档write-ahead log.建议的设置为:
archive_mode = on wal_level = hot_standby archive_command = '/usr/bin/rsync --archive --ignore-existing "%p" "/backup-dest/%p"' # Ensures that a log file is written at least once every 30 minutes even if little # activity has occurred archive_timeout = 30min
您可以执行pg_basebackup
而不是为您的基线执行pg_dump,这不需要您冻结数据库.但是,如果您尚未启用archive_mode
,则需要重新启动数据库才能更改该设置.