我有一个庞大的Postgres 9.1数据库(〜450 GB),需要将其复制到新计算机上,我想在该计算机上升级到Postgres 12。
使用pg_dump
会在几个小时后停顿,仅写入60 GB。我如何才能大大加快这一过程?
答案 0 :(得分:2)
pg_dump
的运行速度远没有pg_dump
本身快。如果有可能,请在转储时关闭对数据库的访问。检查系统是否有其他负载来源(尤其是I / O负载),并在可能的情况下将其卸下。检查驱动器是否出现故障。不要将转储写入正在读取数据库的同一磁盘上(如果源计算机上没有其他磁盘,请考虑类似pg_dump whatever | ssh anothermachine 'cat > db.sql'
)。或者,请耐心等待。
答案 1 :(得分:1)
如果要通过ssh转储数据库,请添加-Z
标志和zip级别,以压缩pg_dump
的输出。例如pg_dump -Z 9