如何为Postgres 10.6设置DBParameterGroup Family属性

时间:2019-04-23 20:07:41

标签: postgresql amazon-web-services rds

我正在将Postgres 10.6与RDS一起使用。我正在尝试设置DBParameterGroup来设置一些自定义参数,但是我不确定在CloudFormation中将什么作为姓氏。该文档有一个示例:Family: aurora5.6。我尝试了Family: postgres10.6,但没有成功。有人有经验吗?

这是我的CloudFormation RDS堆栈中的内容:

  RDSPostgres:
    Type: 'AWS::RDS::DBInstance'
    DeletionPolicy: Delete
    Properties:
      AllocatedStorage: "100"
      DBInstanceClass: db.m4.large
      DBParameterGroupName: RDSDBParameterGroup
      EnablePerformanceInsights: true
      Engine: "postgres"
      EngineVersion: "10.6"
      MasterUsername: !Ref PGUsername
      MasterUserPassword: !Ref PGPassword
      Port: "5432"
      PubliclyAccessible: true
      StorageType: gp2
      DBSubnetGroupName: !Ref DBSubnetGroup
      VPCSecurityGroups:
        - !GetAtt DatabaseSecurityGroup.GroupId

  RDSDBParameterGroup:
    Type: AWS::RDS::DBParameterGroup
    Properties:
      Description: Postgres custom parameters
      Family: postgres10.6
      Parameters:
        shared_preload_libraries: 'pg_stat_statements'
        pg_stat_statements.max: '10000'
        pg_stat_statements.track: 'all'
        log_min_duration_statement: '1000'
        log_duration: 'on'
        random_page_cost: '1.1'
        checkpoint_completion_target: '0.9'
        min_wal_size: '80'
        effective_io_concurrency: '200'
        log_statement: 'all'

我正在尝试使用这些设置创建一个新数据库,CloudFormation告诉我postgres10.6不是有效参数。 DBParameterGroup docs没有postgres的示例,而且我很难找到该值应该是什么。

2 个答案:

答案 0 :(得分:1)

您应将Family属性设置为postgres10

以下是PostgreSQL可用家族的列表:

enter image description here

创建参数组时,可以在控制台中找到列表。或者,您可以使用以下AWS CLI命令找到列表(包含重复项):

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"

答案 1 :(得分:1)

这是因为postgres10.6不是“参数组族”部分中可用的有效选项。
要获取所有可用参数组族的列表,请使用以下AWS CLI命令:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"

您还可以通过在AWS RDS中的参数组中导航来检入AWS控制台,然后在参数组族中将在下拉菜单中列出所有可用的组族。