根据我的 Postgres (8.4.2) 版本的文档,pg_dump 可以“以脚本或存档文件格式输出”。脚本格式的转储 (4GB) 需要 1.5 小时才能恢复,我想知道存档格式是否更快。
顺便说一句,我的脚本格式转储正在使用 COPY 命令,所以我不是一次插入一个。
提前致谢。
根据我的 Postgres (8.4.2) 版本的文档,pg_dump 可以“以脚本或存档文件格式输出”。脚本格式的转储 (4GB) 需要 1.5 小时才能恢复,我想知道存档格式是否更快。
顺便说一句,我的脚本格式转储正在使用 COPY 命令,所以我不是一次插入一个。
提前致谢。
存档格式对恢复时间的影响很小。
那是因为实际上,当您从纯格式恢复时,它相当于:
当您从“压缩”格式恢复时,它相当于:
,并且与还原期间发生的写入密集型 COPY/CREATE INDEX 命令相比,使用 pg_restore 进行解压缩的成本通常可以忽略不计。
对于大型转储,从压缩转储中恢复可能会更快一些(更少的磁盘读取)。
-j
使用(--jobs
) 选项可能会更快。它只能用于“压缩”格式,并且允许使用 N 个并发作业(会话)进行并行还原。有关
-j
选项的更多详细信息,请参阅http://www.postgresql.org/docs/8.4/static/app-pgrestore.html。例子: