How to automatic switch to new parameter group in AWS' RDS with Terraform?

Set a new parameter group for RDS, its plan is

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
~ update in-place
- destroy

Terraform will perform the following actions:

  # aws_db_parameter_group.this will be destroyed
- resource "aws_db_parameter_group" "this" {
      - arn         = "arn:aws:rds:us-east-1:12301923210921:pg:db-aurora-parameter-group" -> null
      - description = "Parameter group for db Aurora Postgres instance" -> null
      - family      = "aurora-postgresql12" -> null
      - id          = "db-aurora-parameter-group" -> null
      - name        = "db-aurora-parameter-group" -> null
      - tags        = {
          - "Application" = "myapp db"
          - "Project"     = "myproj"
          - "Terraform"   = "true"
        } -> null
    }

  # aws_rds_cluster.this will be updated in-place
~ resource "aws_rds_cluster" "this" {
      ~ db_cluster_parameter_group_name     = "db-aurora-cluster-parameter-group" -> (known after apply)
        id                                  = "db"
        tags                                = {
            "Application" = "myapp db"
            "Project"     = "myproj"
            "Terraform"   = "true"
        }
        # (31 unchanged attributes hidden)
    }

  # aws_rds_cluster_instance.this will be updated in-place
~ resource "aws_rds_cluster_instance" "this" {
      ~ db_parameter_group_name         = "db-aurora-parameter-group" -> (known after apply)
        id                              = "instance001"
        tags                            = {
            "Application" = "myapp db"
            "Project"     = "myproj"
            "Terraform"   = "true"
        }
        # (25 unchanged attributes hidden)
    }

  # aws_rds_cluster_parameter_group.this will be destroyed
- resource "aws_rds_cluster_parameter_group" "this" {
      - arn         = "arn:aws:rds:us-east-1:12301923210921:cluster-pg:db-aurora-cluster-parameter-group" -> null
      - description = "Cluster parameter group for db Aurora Postgres instance" -> null
      - family      = "aurora-postgresql12" -> null
      - id          = "db-aurora-cluster-parameter-group" -> null
      - name        = "db-aurora-cluster-parameter-group" -> null
      - tags        = {
          - "Application" = "myapp db"
          - "Project"     = "myproj"
          - "Terraform"   = "true"
        } -> null

      - parameter {
          - apply_method = "immediate" -> null
          - name         = "log_lock_waits" -> null
          - value        = "1" -> null
        }
      - parameter {
          - apply_method = "immediate" -> null
          - name         = "log_temp_files" -> null
          - value        = "0" -> null
        }
      - parameter {
          - apply_method = "immediate" -> null
          - name         = "pgaudit.log_catalog" -> null
          - value        = "0" -> null
        }
    }

  # module.aws_db_parameter_group.aws_db_parameter_group.this will be created
+ resource "aws_db_parameter_group" "this" {
      + arn         = (known after apply)
      + description = "Parameter group for db Aurora Postgres instance"
      + family      = "aurora-postgresql12"
      + id          = (known after apply)
      + name        = (known after apply)
      + name_prefix = "db-"
      + tags        = {
          + "Application" = "myapp db"
          + "Name"        = "db"
          + "Project"     = "myproj"
          + "Terraform"   = "true"
        }
    }

  # module.aws_db_parameter_group.aws_rds_cluster_parameter_group.this will be created
+ resource "aws_rds_cluster_parameter_group" "this" {
      + arn         = (known after apply)
      + description = "Cluster parameter group for db Aurora Postgres instance"
      + family      = "aurora-postgresql12"
      + id          = (known after apply)
      + name        = (known after apply)
      + name_prefix = "db-"
      + tags        = {
          + "Application" = "myapp db"
          + "Name"        = "db"
          + "Project"     = "myproj"
          + "Terraform"   = "true"
        }

      + parameter {
          + apply_method = "immediate"
          + name         = "log_lock_waits"
          + value        = "1"
        }
      + parameter {
          + apply_method = "immediate"
          + name         = "log_temp_files"
          + value        = "0"
        }
      + parameter {
          + apply_method = "pending-reboot"
          + name         = "pgaudit.log_catalog"
          + value        = "0"
        }
    }

Plan: 2 to add, 2 to change, 2 to destroy.

After apply it by terraform, it will delete the old parameter group but can’t due to the AWS rule.
If switch to the new group in AWS manually, it’s possible.

Is there a way to use terraform do the automation? If want to add a new parameter group in the future, what’s the best practice?