如何编辑 postgres AWS RDS 的 .conf 文件?

如何编辑 postgres AWS RDS 的 .conf 文件?

我想更改我的 postgres RDS 实例中的 pg_hba.conf,以便我可以使用证书身份验证。我发现 RDS 中的参数组管理器允许我更改参数,但它只引用了 pg_hba.conf 的路径。它似乎不允许我更改 pg_hba.conf。

答案1

截至目前,RDS 确实允许更改配置。因此您可以

  1. 查看您的 RDS 正在使用的配置列表。
  2. 您可以更改这些参数。但我相信您无法更改所有参数。您可以更改 RDS 参考页中列出的参数。

像往常一样,有一些静态(或固定)配置参数需要您重新启动数据库服务器,而有一些动态选项不需要重新启动。

RDS 参考手册中是这样说的:

您在 postgresql.conf 文件中为本地 PostgreSQL 实例设置的 PostgreSQL 参数将保留在数据库实例的数据库参数组中。如果您使用默认参数组创建数据库实例,则参数设置位于名为 default.postgres9.3 的参数组中。

创建数据库实例时,将加载关联的数据库参数组中的参数。您可以通过更改参数组中的值来修改参数值。如果您具有执行此操作的安全权限,还可以使用 ALTER DATABASE、ALTER ROLE 和 SET 命令更改参数值。请注意,您无法使用命令行 postgres 命令或 env PGOPTIONS 命令,因为您无法访问主机。

以下是 Amazon RDS 针对 postgres 的官方文档: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html#Appendix.PostgreSQL.CommonDBATasks.Parameters

答案2

使用 RDS 时,您无法直接编辑配置文件。而是通过 RDS 控制台或通过 API 编辑参数。

您可以在此处阅读有关“修改数据库参数组”的内容: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html

您可以修改用户创建的数据库参数组中的参数值,但无法更改默认数据库参数组中的参数值。对参数的更改将立即应用于数据库参数组的成员数据库实例,或在数据库实例下次重新启动时应用于该数据库实例,具体取决于参数的类型(动态或静态)以及为参数更新选择的应用方法。

答案3

目前,您还不能:

https://forums.aws.amazon.com/thread.jspa?messageID=505301뗕

...至少他们知道人们想要这个。

我猜测当他们为 PostgreSQL 添加自定义选项组时,此功能将可用。

答案4

pg_hba.conf文件控制 PostgreSQL 数据库的客户端身份验证设置。但是,对于 RDS PostgreSQL 数据库,RDS 会代表您管理身份验证设置。

您需要使用受支持的RDS 身份验证选项(更多此处为 RDS 身份验证)。您可以通过 AWS 控制台、AWS CLI 或 AWS API 修改数据库的身份验证选项。

在某些情况下,你可能还需要修改数据库的附加安全组将允许访问数据库的 IP 地址列入白名单。

相关内容