Postgresql postgres将压缩选项转储到AWS RDS

Postgresql postgres将压缩选项转储到AWS RDS,postgresql,amazon-web-services,rds,Postgresql,Amazon Web Services,Rds,我目前正在将本地数据提升到AWS RDS db,但由于数据大小的原因,这需要很长时间。希望有人能提出一种方法,在发送转储文件之前对其进行压缩(然后在另一端读取) 当前正在写入转储文件,因此: pg_dump -t properties_staging --data-only project_development > data/properties_staging.dump 并以这种方式向上推到AWS: psql -a -h blahblahblah.blahblahblah.eu-we

我目前正在将本地数据提升到AWS RDS db,但由于数据大小的原因,这需要很长时间。希望有人能提出一种方法,在发送转储文件之前对其进行压缩(然后在另一端读取)

当前正在写入转储文件,因此:

pg_dump -t properties_staging --data-only project_development > data/properties_staging.dump
并以这种方式向上推到AWS:

psql -a -h blahblahblah.blahblahblah.eu-west-1.rds.amazonaws.com -U master -d ebdb -p 5432 < data/properties_staging.dump
psql-a-h blahblahblah.blahblahblah.eu-west-1.rds.amazonaws.com-U master-d ebdb-p 5432
在将此转储文件压缩到RDS的同时,有哪些最佳选项可用于精简此转储文件

我们非常感激地接受了所有建议


谢谢

pg_dump
支持多种更快和/或更小文件的选项。在文档中,提供了一些可供尝试的选项。注意这取决于您的数据,有些选择要求您使用
pg_restore
而不是
psql

pg_转储选项
  • --format=custom
    使用默认压缩的二进制格式
  • --format=directory
    在转储中创建多个文件。默认情况下压缩。允许并行转储
  • --jobs=N
    使用N个线程进行转储和压缩。可能会加快运行速度
  • --compress=N
    从0到9的数字。0表示无压缩,1表示低cpu压缩,9表示高cpu压缩
再说一次,最快的是什么?我不知道。针对您的具体情况进行测试和基准测试。如果您将pg_dump的输出复制到同一个AZ中的EC2实例(使用相当快的CPU,而不是micro或t2),并从那里运行
pg_restore
psql
,则速度可能会更快


注意
pg\u restore
也有一个
--jobs=N
标志。此设置不需要与
pg_dump

中的设置匹配,非常有用-我已经看过文档,但是您的额外输入使其有意义。谢谢你,特德。另外,我发现您可以使用pg_restore从本地向上推到RDS,我想这并没有什么缺点,是吗?