我在AWS RDS上有一个postgresql表。我们的表格规模不断扩大,现在我们希望在桌面上实施DR。我们希望将超过60天的数据推送到S3存储桶并从表中删除此数据。
我排除了
AWS数据管道,pg_dump,因为它占用了整个数据库/表。
排除了分区,因为它意味着AWS上的更多空间[意味着更多的托管资金]
我正在考虑使用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,有效删除这些百万条记录的最佳方法是什么,而不会在生产表上造成性能问题。