Skip to content

modify_db_parameter_group

modify_db_parameter_group(
    *,
    config_overrides: Optional[RDSClientConfig] = None,
    db_parameter_group_name: Optional[String] = None,
    parameters: Optional[ParametersList] = None,
) -> DBParameterGroupNameMessage

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify operation before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

Parameters:

  • db_parameter_group_name (Optional[String], default: None ) –

    The name of the DB parameter group.

    Constraints:

    • If supplied, must match the name of an existing DBParameterGroup.

  • parameters (Optional[ParametersList], default: None ) –

    An array of parameter names, values, and the application methods for the parameter update. At least one parameter name, value, and application method must be supplied; later arguments are optional. A maximum of 20 parameters can be modified in a single request.

    Valid Values (for the application method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters.

    When the application method is immediate, changes to dynamic parameters are applied immediately to the DB instances associated with the parameter group.

    When the application method is pending-reboot, changes to dynamic and static parameters are applied after a reboot without failover to the DB instances associated with the parameter group.

    You can't use pending-reboot with dynamic parameters on RDS for SQL Server DB instances. Use immediate.

    For more information on modifying DB parameters, see Working with DB parameter groups in the Amazon RDS User Guide.

Raises:

  • DBParameterGroupNotFoundFault –

    DBParameterGroupName doesn't refer to an existing DB parameter group.

  • InvalidDBParameterGroupStateFault –

    The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you can't delete it when the parameter group is in this state.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Examples:

To modify a DB parameter group The following example changes the value of the clr enabled parameter in a DB parameter group. The value of the ApplyMethod parameter causes the DB parameter group to be modified immediately, instead of waiting until the next maintenance window.

>>> client.modify_db_parameter_group(db_parameter_group_name='test-sqlserver-se-2017', parameters=[{'ParameterName': 'clr enabled', 'ParameterValue': '1', 'ApplyMethod': 'immediate'}])
Source code in docs_src/capo_rds/_services/rds.py
def modify_db_parameter_group(
    self,
    *,
    config_overrides: Optional[RDSClientConfig] = None,
    db_parameter_group_name: Optional["capo_rds.types.string.String"] = None,
    parameters: Optional["capo_rds.types.parameters_list.ParametersList"] = None,
) -> "capo_rds.types.db_parameter_group_name_message.DBParameterGroupNameMessage":
    """<p>Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: <code>ParameterName</code>, <code>ParameterValue</code>, and <code>ApplyMethod</code>. A maximum of 20 parameters can be modified in a single request.</p> <important> <p>After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify operation before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the <code>character_set_database</code> parameter. You can use the <i>Parameter Groups</i> option of the <a href="https://console.aws.amazon.com/rds/">Amazon RDS console</a> or the <i>DescribeDBParameters</i> command to verify that your DB parameter group has been created or modified.</p> </important>

    Args:
        db_parameter_group_name: <p>The name of the DB parameter group.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must match the name of an existing <code>DBParameterGroup</code>.</p> </li> </ul>
        parameters: <p>An array of parameter names, values, and the application methods for the parameter update. At least one parameter name, value, and application method must be supplied; later arguments are optional. A maximum of 20 parameters can be modified in a single request.</p> <p>Valid Values (for the application method): <code>immediate | pending-reboot</code> </p> <p>You can use the <code>immediate</code> value with dynamic parameters only. You can use the <code>pending-reboot</code> value for both dynamic and static parameters.</p> <p>When the application method is <code>immediate</code>, changes to dynamic parameters are applied immediately to the DB instances associated with the parameter group.</p> <p>When the application method is <code>pending-reboot</code>, changes to dynamic and static parameters are applied after a reboot without failover to the DB instances associated with the parameter group.</p> <note> <p>You can't use <code>pending-reboot</code> with dynamic parameters on RDS for SQL Server DB instances. Use <code>immediate</code>.</p> </note> <p>For more information on modifying DB parameters, see <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html">Working with DB parameter groups</a> in the <i>Amazon RDS User Guide</i>.</p>

    Raises:
        capo_rds.errors.db_parameter_group_not_found_fault.DBParameterGroupNotFoundFault: <p> <code>DBParameterGroupName</code> doesn't refer to an existing DB parameter group.</p>
        capo_rds.errors.invalid_db_parameter_group_state_fault.InvalidDBParameterGroupStateFault: <p>The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you can't delete it when the parameter group is in this state.</p>
        capo_rds.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        To modify a DB parameter group
        The following example changes the value of the clr enabled parameter in a DB parameter group. The value of the ApplyMethod parameter causes the DB parameter group to be modified immediately, instead of waiting until the next maintenance window.

        >>> client.modify_db_parameter_group(db_parameter_group_name='test-sqlserver-se-2017', parameters=[{'ParameterName': 'clr enabled', 'ParameterValue': '1', 'ApplyMethod': 'immediate'}])
    """

    def _handler(
        req: "OperationRequest[capo_rds.types.modify_db_parameter_group_message.ModifyDBParameterGroupMessage]",
    ) -> OperationResponse[
        "capo_rds.types.db_parameter_group_name_message.DBParameterGroupNameMessage"
    ]:
        import capo_rds._operations.amazon_rd_sv19.modify_db_parameter_group

        output, http_response = (
            capo_rds._operations.amazon_rd_sv19.modify_db_parameter_group.modify_db_parameter_group(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyDBParameterGroup")
    )
    input_: capo_rds.types.modify_db_parameter_group_message.ModifyDBParameterGroupMessage = {}
    if db_parameter_group_name is not None:
        input_["db_parameter_group_name"] = db_parameter_group_name
    if parameters is not None:
        input_["parameters"] = parameters

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output