将Postgres表数据存档至60天以后到s3并从表中删除

时间:2018-02-21 14:58:00

标签: postgresql

我在AWS RDS上有一个postgresql表。我们的表格规模不断扩大,现在我们希望在桌面上实施DR。我们希望将超过60天的数据推送到S3存储桶并从表中删除此数据。

我排除了

  1. AWS数据管道,pg_dump,因为它占用了整个数据库/表。

  2. 排除了分区,因为它意味着AWS上的更多空间[意味着更多的托管资金]

  3. 我正在考虑使用psql中的copy命令,选择将数据提取到文件中并上传类似的内容:

    psql -hmyhostname.us-east-1.rds.amazonaws.com —dmydatabasename -UmyUserName -c "copy(SELECT * FROM event WHERE event.”createdAT” < NOW() - INTERVAL ’60 days' LIMIT 1) to stdout" > /tmp/Oldder_data_than_60days.sql
    

    可以通过复制表,删除新数据然后使用pg_dump来实现此目的。

    我不确定应该使用什么方法或者是否有更好的方法?

    此外,一旦完成上传到s3,有效删除这些百万条记录的最佳方法是什么,而不会在生产表上造成性能问题。

0 个答案:

没有答案