如何使用 recovery.conf 归档 RDS postgres 数据库?

How can you archive RDS postgres database by using recovery.conf?

  1. 在哪里可以找到和编辑 Amazon RDS 实例的文件?路径是什么?

  2. 我已经使用命令行连接到数据库。 我可以通过 ec2 实例访问此文件吗(因为我无法直接连接到 rds)?

  3. 您可以使用任何数据库查询编辑 recovery.conf 属性 值吗?

  4. 我应该在此文件中更改什么属性?

  5. 我可以为此使用 Amazon DB 参数吗?

  6. 这个文件怎么触发脚本?

  7. 是否可以定期执行此脚本来存档数据库?

  8. 如何使用下面的pg_settings属性在归档数据库的时候多加一个脚本?

    "archive_command";"/etc/rds/dbbin/pgscripts/rds_wal_archive%p"

问题太多,但不知道如何解决,也找不到关于此的良好文档。

所有这些的答案都是"you can't"。

RDS 是一个密封系统。您无法访问 WAL 归档,除非通过 RDS 自身以只读副本、备份管理等形式公开的功能。在内部,RDS 将 WAL 归档到 S3,但您没有也无法访问它使用的 S3 存储桶。您也不能更改 archive_command 或它调用的脚本。

您也不能建立复制模式连接以流式传输 WAL,也不能使用逻辑复制等。如果您想要更多的控制和灵活性,请不要使用 RDS。控制力和灵活性带来了更多的复杂性和对更多知识的需求 - 请务必阅读手册!