Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set DBParameterGroup Family property for Postgres 10.6

I'm using Postgres 10.6 with RDS. I'm trying to setup a DBParameterGroup to set some custom parameters, but I'm not sure what to put for the family name in CloudFormation. The documentation had one example: Family: aurora5.6. I tried Family: postgres10.6 and it did not work. Does anyone have experience with this?

Here's what I have in my CloudFormation RDS stack:

  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'

I'm trying to create a new database with these settings and CloudFormation is telling me that postgres10.6 is not a valid parameter. The DBParameterGroup docs don't have examples for postgres, and I have had a hard time finding what this value should be.

like image 958
briancaffey Avatar asked Apr 23 '19 20:04

briancaffey


2 Answers

You should set the Family property to postgres10.

Here is the list of available families for PostgreSQL:

enter image description here

You can find the list in the console when creating a Parameter Group. Alternatively you can find the list (with duplicates) using the following AWS CLI command:

aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
like image 64
jogold Avatar answered Sep 19 '22 23:09

jogold


This is because postgres10.6 is not an valid option available in Parameter group family section.
To get the list of all the available parameter group families, use the following AWS CLI command:

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

You can also check in AWS console by navigating through Parameter groups in AWS RDS and then in Parameter group family you will be listed with all the available group families in the dropdown menu.

like image 25
Aress Support Avatar answered Sep 16 '22 23:09

Aress Support