当我开始,我使用pg_dump与默认纯格式。我不知道。
@H_403_18@
首先检查您是否从磁盘设置获得合理的IO性能。然后检查您的Postgresql安装是否适当调整。特别是shared_buffers应该设置正确,maintenance_work_mem应该在恢复期间增加,full_page_writes应该在恢复期间关闭,wal_buffers应该在恢复期间增加到16MB,在恢复期间checkpoint_segments应该增加到像16,你不应该有任何不合理的日志记录(如记录每个执行的语句),auto_vacuum应该在恢复期间禁用。
研究显示我用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
我觉得unenlightened:恢复花费了12个小时来创建数据库,只是它将成为的一小部分:
# select pg_size_pretty(pg_database_size('dbname')); 47 GB
请,开明我。
如果你在8.4也尝试并行还原,pg_restore的–jobs选项。