将数据导入Amazon RDS极其缓慢

我需要从旧服务器导入PostgresSql数据库到新的Amazon RDS。

我创build了一个数据库转储文件,通过pgAdmin连接到我的RDS,并开始导入pgAdmin控制台( \i dump_file.sql )。

一切似乎工作,但它真的很慢,似乎被困在同一行几个小时..我打开RDS监视器,我看到以下内容:

在这里输入图像说明

所以看起来好像有写操作符(但为什么这么less)和一些CPU使用率,但它看起来像它使用真正的低百分比的能力。 另外,我还详细地检查了磁盘使用情况,并且磁盘缩小了,所以它的真实写入,例如没有卡住,只是非常慢。

我能做些什么来更快地导入我的数据库? 为什么这么慢? 为什么它使用这么小的CPU和写操作?

感觉RDS并没有充分发挥其潜力

PS我的DB是大约10Gb的大小。

默认的postgresqlconfiguration不适合批量导入数据。 在导入大量数据之前,您需要做的主要事情是增加max_wal_size以减less导入过程中postgresql执行检查点所需的次数。 另外,如果您确信数据的质量,请将其导入交易中。 有关其他想法,请参阅https://www.postgresql.org/docs/9.5/static/populate.htm (closures复制,禁用索引,禁用触发器,使用pg_restore --jobs X并行化导入)