#
# Anthony Vitale Altered parameters within the group aur-pg-v14-cluster-group-v001 on Oct 5, 2023
#
#
# Anthony Vitale Altered parameters within the group aur-pg-v14-cluster-group-v001 on Oct 27, 2023
#
#
# Anthony Vitale Nov 21, 2023 Changed auto_explain.log_format from text to json
#
#
# Anthony Vitale Jan 19, 2024 
# 1) Drop Parameter group aur-pg-v14-cluster-group-used-for-migration
# 2) Changed Parameters of aur-pg-v14-cluster-group-v001 Parameter group
#    a) max_worker_processes from 50 to 200
#    b) apg_plan_mgmt.log_plan_enforcement_result from on_error to none
# End Anthony Vitale Jan 19, 2024 
#
#
# Anthony Vitale Jan 26, 2024 
#   Changed Parameter auto_explain.log_analyze from 1 to 0 in all parm groups
#
# Anthony Vitale June 6 2025 Create Empty V17 Parameter Group 
#
#
# Anthony Vitale June 6 2025 Adjusted parameters within the cluster parm group aur-pg-v14-cluster-group-v001
#
#
# Anthony Vitale June 6 2025 Added Paramters to aur-pg-v17-cluster-group-v001
#
#
# Anthony Vitale July 30, 2025 Changed password_encryption of md5 to password_encryption of scram-sha-256
#
#
# Anthony Vitale Sept 25, 2025 Altered Cluster Parameter Group aur-pg-v17-cluster-group-v001 Parameter apg_enable_parameterized_adaptive_join to false
#
#
# Anthony Vitale Sept 29 2025
#  Set Parameters apg_enable_remove_redundant_inner_joins and apg_enable_correlated_scalar_transform to false
#
#
# Anthony Vitale Feb 9 2026
#  Added cluster Parameter Group aur-pg-v17-cluster-group-v002-pganalyze
#
#
# Anthony Vitale Feb 13, 2026
# Adding Back Parameters aurora.enhanced_logical_replication, aurora.logical_replication_backup and aurora.logical_replication_globaldb to aur-pg-v17-cluster-group-v002-pganalyze
#
#
# Anthony Vitale May 22, 2026
# 1) Removed old V14 Cluster Parameter Group
# 2) Changed Work_Mem from 10MB to 30MB (30720) in cluster Parameter Group aur-pg-v17-cluster-group-v001
# 3) Enabled Parameter apg_enable_remove_redundant_inner_joins  in cluster Parameter Group aur-pg-v17-cluster-group-v001
# 

resource "aws_rds_cluster_parameter_group" "aur-pg-v17-cluster-group-v001" {
  description = "aur-pg-v17-cluster-group-v001"
  family      = "aurora-postgresql17"
  name        = "aur-pg-v17-cluster-group-v001"
  name_prefix = null
  tags        = {}
  tags_all    = {}
  parameter {
    apply_method = "immediate"
    name         = "ansi_constraint_trigger_ordering"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "ansi_force_foreign_key_checks"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "ansi_qualified_update_set_target"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_adaptive_join_cost_threshold"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_adaptive_join_crossover_multiplier"
    value        = "100"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_ccm_enabled"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_batch_mode_function_execution"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_correlated_any_transform"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_correlated_scalar_transform"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_function_migration"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_not_in_transform"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_parameterized_adaptive_join"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_remove_redundant_inner_joins"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_subquery_cache"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_plan_mgmt.capture_plan_baselines"
    value        = "automatic"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "apg_plan_mgmt.max_plans"
    value        = "50000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "apg_plan_mgmt.plan_retention_period"
    value        = "7"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_plan_mgmt.unapproved_plan_execution_threshold"
    value        = "100"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_plan_mgmt.use_plan_baselines"
    value        = "true"
  }
  parameter {
    apply_method = "immediate"
    name         = "application_name"
    value        = "GRPS"
  }
  parameter {
    apply_method = "immediate"
    name         = "array_nulls"
    value        = "1"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "aurora.enhanced_logical_replication"
    value        = "1"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "aurora.logical_replication_backup"
    value        = "0"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "aurora.logical_replication_globaldb"
    value        = "0"
  }

  parameter {
    apply_method = "immediate"
    name         = "aurora_compute_plan_id"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.minutes_until_recapture"
    value        = "7200"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_analyze"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_buffers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_costs"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_timing"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_triggers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_wal"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "authentication_timeout"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.hashes"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_analyze"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_buffers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_format"
    value        = "json"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_min_duration"
    value        = "1000"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_nested_statements"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_parameter_max_length"
    value        = "-1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_settings"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_timing"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_triggers"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_verbose"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.sample_rate"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_analyze_scale_factor"
    value        = "0.1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_analyze_threshold"
    value        = "50"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "autovacuum_freeze_max_age"
    value        = "200000000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "autovacuum_multixact_freeze_max_age"
    value        = "400000000"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_naptime"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_cost_delay"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_insert_scale_factor"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_insert_threshold"
    value        = "50"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_scale_factor"
    value        = "0.01"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_threshold"
    value        = "50"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_work_mem"
    value        = "512000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "babelfishpg_tsql.migration_mode"
    value        = "single-db"
  }
  parameter {
    apply_method = "immediate"
    name         = "backend_flush_after"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "backslash_quote"
    value        = "safe_encoding"
  }
  parameter {
    apply_method = "immediate"
    name         = "check_function_bodies"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "client_connection_check_interval"
    value        = "600000"
  }
  parameter {
    apply_method = "immediate"
    name         = "client_min_messages"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "constraint_exclusion"
    value        = "on"
  }
  parameter {
    apply_method = "immediate"
    name         = "createrole_self_grant"
    value        = "inherit"
  }
  parameter {
    apply_method = "immediate"
    name         = "cron.log_min_messages"
    value        = "error"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "cron.log_statement"
    value        = "on"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "cron.max_running_jobs"
    value        = "50"
  }
  parameter {
    apply_method = "immediate"
    name         = "deadlock_timeout"
    value        = "5000"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_pretty_print"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_print_parse"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_print_plan"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_print_rewritten"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "default_statistics_target"
    value        = "256"
  }
  parameter {
    apply_method = "immediate"
    name         = "default_toast_compression"
    value        = "lz4"
  }
  parameter {
    apply_method = "immediate"
    name         = "default_transaction_deferrable"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_async_append"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_bitmapscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_gathermerge"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_group_by_reordering"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_hashagg"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_hashjoin"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_incremental_sort"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_indexonlyscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_indexscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_material"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_memoize"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_mergejoin"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_nestloop"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_parallel_append"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_parallel_hash"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_partition_pruning"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_partitionwise_aggregate"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_partitionwise_join"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_seqscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_sort"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_tidscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "escape_string_warning"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "event_triggers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "from_collapse_limit"
    value        = "20"
  }
  parameter {
    apply_method = "immediate"
    name         = "hash_mem_multiplier"
    value        = "2"
  }
  parameter {
    apply_method = "immediate"
    name         = "idle_in_transaction_session_timeout"
    value        = "60000"
  }
  parameter {
    apply_method = "immediate"
    name         = "intervalstyle"
    value        = "sql_standard"
  }
  parameter {
    apply_method = "immediate"
    name         = "join_collapse_limit"
    value        = "20"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_autovacuum_min_duration"
    value        = "150"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_connections"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_disconnections"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_duration"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_error_verbosity"
    value        = "default"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_executor_stats"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_hostname"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_lock_waits"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_min_duration_statement"
    value        = "1000"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_min_error_statement"
    value        = "error"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_min_messages"
    value        = "error"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_parameter_max_length"
    value        = "-1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_parameter_max_length_on_error"
    value        = "-1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_parser_stats"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_planner_stats"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_replication_commands"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_rotation_size"
    value        = "50000"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_statement"
    value        = "ddl"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_statement_stats"
    value        = "0"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_locks_per_transaction"
    value        = "2000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_logical_replication_workers"
    value        = "30"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_apply_workers_per_subscription"
    value        = "6"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_maintenance_workers"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_workers"
    value        = "200"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_workers_per_gather"
    value        = "2"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_replication_slots"
    value        = "300"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_sync_workers_per_subscription"
    value        = "6"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_wal_senders"
    value        = "300"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_worker_processes"
    value        = "200"
  }
  parameter {
    apply_method = "immediate"
    name         = "parallel_leader_participation"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "password_encryption"
    value        = "scram-sha-256"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_hint_plan.debug_print"
    value        = "on"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_hint_plan.enable_hint"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_hint_plan.enable_hint_table"
    value        = "0"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pg_prewarm.autoprewarm"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pg_stat_statements.max"
    value        = "100000"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.save"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.track"
    value        = "ALL"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.track_planning"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.track_utility"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log"
    value        = "ddl,role"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_catalog"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_level"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_parameter"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_relation"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_statement_once"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.role"
    value        = "rds_pgaudit"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pglogical.batch_inserts"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pglogical.conflict_log_level"
    value        = "error"
  }
  parameter {
    apply_method = "immediate"
    name         = "pglogical.conflict_resolution"
    value        = "last_update_wins"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pglogical.synchronous_commit"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "plan_cache_mode"
    value        = "auto"
  }
  parameter {
    apply_method = "immediate"
    name         = "quote_all_identifiers"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "random_page_cost"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.enable_memory_management"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.enable_plan_management"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.force_admin_logging_level"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.force_autovacuum_logging_level"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.log_retention_period"
    value        = "10080"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.logical_replication"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.logically_replicate_unlogged_tables"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.memory_allocation_guard"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.restrict_password_commands"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "remove_temp_files_after_crash"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "reserved_connections"
    value        = "3"
  }
  parameter {
    apply_method = "immediate"
    name         = "row_security"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "search_path"
    value        = "\"$user\", dsam000, smetools, tempdb, dwrk001, hint_plan, dbextensions, public"

  }
  parameter {
    apply_method = "immediate"
    name         = "session_replication_role"
    value        = "origin"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "shared_preload_libraries"
    value        = "auto_explain,orafce,pgaudit,pg_ad_mapping,pg_bigm,pg_similarity,pg_stat_statements,pg_tle,pg_hint_plan,pg_prewarm,plprofiler,pglogical,pg_cron"
  }
  parameter {
    apply_method = "immediate"
    name         = "standard_conforming_strings"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "statement_timeout"
    value        = "10800000"
  }
  parameter {
    apply_method = "immediate"
    name         = "stats_fetch_consistency"
    value        = "cache"
  }
  parameter {
    apply_method = "immediate"
    name         = "synchronize_seqscans"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "tcp_keepalives_count"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "tcp_keepalives_idle"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "tcp_keepalives_interval"
    value        = "60"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "trace_connection_negotiation"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "track_activities"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "track_activity_query_size"
    value        = "1048576"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "track_commit_timestamp"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "transform_null_equals"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "update_process_title"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "wal_receiver_timeout"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "wal_sender_timeout"
    value        = "3600000"
  }
  parameter {
    apply_method = "immediate"
    name         = "work_mem"
    value        = "30720"
  }
}

resource "aws_rds_cluster_parameter_group" "aur-pg-v17-cluster-group-v002-pganalyze" {
  description = "aur-pg-v17-cluster-group-v002-pganalyze"
  family      = "aurora-postgresql17"
  name        = "aur-pg-v17-cluster-group-v002-pganalyze"
  name_prefix = null
  tags        = {}
  tags_all    = {}
  parameter {
    apply_method = "immediate"
    name         = "ansi_constraint_trigger_ordering"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "ansi_force_foreign_key_checks"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "ansi_qualified_update_set_target"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_adaptive_join_cost_threshold"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_adaptive_join_crossover_multiplier"
    value        = "100"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_ccm_enabled"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_batch_mode_function_execution"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_correlated_any_transform"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_function_migration"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_not_in_transform"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_parameterized_adaptive_join"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_remove_redundant_inner_joins"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_enable_subquery_cache"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_plan_mgmt.capture_plan_baselines"
    value        = "automatic"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "apg_plan_mgmt.max_plans"
    value        = "50000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "apg_plan_mgmt.plan_retention_period"
    value        = "7"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_plan_mgmt.unapproved_plan_execution_threshold"
    value        = "100"
  }
  parameter {
    apply_method = "immediate"
    name         = "apg_plan_mgmt.use_plan_baselines"
    value        = "true"
  }
  parameter {
    apply_method = "immediate"
    name         = "application_name"
    value        = "GRPS"
  }
  parameter {
    apply_method = "immediate"
    name         = "array_nulls"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_compute_plan_id"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.minutes_until_recapture"
    value        = "7200"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_analyze"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_buffers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_costs"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_timing"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_triggers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "aurora_stat_plans.with_wal"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "authentication_timeout"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.hashes"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_analyze"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_buffers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_format"
    value        = "json"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_min_duration"
    value        = "1000"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_nested_statements"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_parameter_max_length"
    value        = "-1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_settings"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_timing"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_triggers"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.log_verbose"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "auto_explain.sample_rate"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_analyze_scale_factor"
    value        = "0.1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_analyze_threshold"
    value        = "50"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "autovacuum_freeze_max_age"
    value        = "200000000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "autovacuum_multixact_freeze_max_age"
    value        = "400000000"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_naptime"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_cost_delay"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_insert_scale_factor"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_insert_threshold"
    value        = "50"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_scale_factor"
    value        = "0.01"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_vacuum_threshold"
    value        = "50"
  }
  parameter {
    apply_method = "immediate"
    name         = "autovacuum_work_mem"
    value        = "512000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "babelfishpg_tsql.migration_mode"
    value        = "single-db"
  }
  parameter {
    apply_method = "immediate"
    name         = "backend_flush_after"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "backslash_quote"
    value        = "safe_encoding"
  }
  parameter {
    apply_method = "immediate"
    name         = "check_function_bodies"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "client_connection_check_interval"
    value        = "600000"
  }
  parameter {
    apply_method = "immediate"
    name         = "client_min_messages"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "constraint_exclusion"
    value        = "on"
  }
  parameter {
    apply_method = "immediate"
    name         = "createrole_self_grant"
    value        = "inherit"
  }
  parameter {
    apply_method = "immediate"
    name         = "cron.log_min_messages"
    value        = "error"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "cron.log_statement"
    value        = "on"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "cron.max_running_jobs"
    value        = "50"
  }
  parameter {
    apply_method = "immediate"
    name         = "deadlock_timeout"
    value        = "5000"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_pretty_print"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_print_parse"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_print_plan"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "debug_print_rewritten"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "default_statistics_target"
    value        = "256"
  }
  parameter {
    apply_method = "immediate"
    name         = "default_toast_compression"
    value        = "lz4"
  }
  parameter {
    apply_method = "immediate"
    name         = "default_transaction_deferrable"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_async_append"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_bitmapscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_gathermerge"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_group_by_reordering"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_hashagg"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_hashjoin"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_incremental_sort"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_indexonlyscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_indexscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_material"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_memoize"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_mergejoin"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_nestloop"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_parallel_append"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_parallel_hash"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_partition_pruning"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_partitionwise_aggregate"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_partitionwise_join"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_seqscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_sort"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "enable_tidscan"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "escape_string_warning"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "event_triggers"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "from_collapse_limit"
    value        = "20"
  }
  parameter {
    apply_method = "immediate"
    name         = "hash_mem_multiplier"
    value        = "2"
  }
  parameter {
    apply_method = "immediate"
    name         = "idle_in_transaction_session_timeout"
    value        = "60000"
  }
  parameter {
    apply_method = "immediate"
    name         = "intervalstyle"
    value        = "sql_standard"
  }
  parameter {
    apply_method = "immediate"
    name         = "join_collapse_limit"
    value        = "20"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_autovacuum_min_duration"
    value        = "150"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_connections"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_disconnections"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_duration"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_error_verbosity"
    value        = "default"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_executor_stats"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_hostname"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_lock_waits"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_min_duration_statement"
    value        = "1000"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_min_error_statement"
    value        = "error"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_min_messages"
    value        = "error"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_parameter_max_length"
    value        = "-1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_parameter_max_length_on_error"
    value        = "-1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_parser_stats"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_planner_stats"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_replication_commands"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_rotation_size"
    value        = "50000"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_statement"
    value        = "ddl"
  }
  parameter {
    apply_method = "immediate"
    name         = "log_statement_stats"
    value        = "0"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_locks_per_transaction"
    value        = "2000"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_logical_replication_workers"
    value        = "30"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_apply_workers_per_subscription"
    value        = "6"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_maintenance_workers"
    value        = "10"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_workers"
    value        = "200"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_parallel_workers_per_gather"
    value        = "2"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_replication_slots"
    value        = "300"
  }
  parameter {
    apply_method = "immediate"
    name         = "max_sync_workers_per_subscription"
    value        = "6"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_wal_senders"
    value        = "300"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "max_worker_processes"
    value        = "200"
  }
  parameter {
    apply_method = "immediate"
    name         = "parallel_leader_participation"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "password_encryption"
    value        = "scram-sha-256"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_hint_plan.debug_print"
    value        = "on"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_hint_plan.enable_hint"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_hint_plan.enable_hint_table"
    value        = "0"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pg_prewarm.autoprewarm"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pg_stat_statements.max"
    value        = "100000"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.save"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.track"
    value        = "ALL"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.track_planning"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "pg_stat_statements.track_utility"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log"
    value        = "ddl,role"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_catalog"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_level"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_parameter"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_relation"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.log_statement_once"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pgaudit.role"
    value        = "rds_pgaudit"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pglogical.batch_inserts"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "pglogical.conflict_log_level"
    value        = "error"
  }
  parameter {
    apply_method = "immediate"
    name         = "pglogical.conflict_resolution"
    value        = "last_update_wins"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "pglogical.synchronous_commit"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "plan_cache_mode"
    value        = "auto"
  }
  parameter {
    apply_method = "immediate"
    name         = "quote_all_identifiers"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "random_page_cost"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.enable_memory_management"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.enable_plan_management"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.force_admin_logging_level"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.force_autovacuum_logging_level"
    value        = "notice"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.log_retention_period"
    value        = "10080"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.logical_replication"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.logically_replicate_unlogged_tables"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "rds.memory_allocation_guard"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "rds.restrict_password_commands"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "remove_temp_files_after_crash"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "reserved_connections"
    value        = "3"
  }
  parameter {
    apply_method = "immediate"
    name         = "row_security"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "search_path"
    value        = "\"$user\", dsam000, smetools, tempdb, dwrk001, hint_plan, dbextensions, public"

  }
  parameter {
    apply_method = "immediate"
    name         = "session_replication_role"
    value        = "origin"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "shared_preload_libraries"
    value        = "auto_explain,orafce,pgaudit,pg_ad_mapping,pg_bigm,pg_similarity,pg_stat_statements,pg_tle,pg_hint_plan,pg_prewarm,plprofiler,pglogical,pg_cron"
  }
  parameter {
    apply_method = "immediate"
    name         = "standard_conforming_strings"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "statement_timeout"
    value        = "10800000"
  }
  parameter {
    apply_method = "immediate"
    name         = "stats_fetch_consistency"
    value        = "cache"
  }
  parameter {
    apply_method = "immediate"
    name         = "synchronize_seqscans"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "tcp_keepalives_count"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "tcp_keepalives_idle"
    value        = "60"
  }
  parameter {
    apply_method = "immediate"
    name         = "tcp_keepalives_interval"
    value        = "60"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "trace_connection_negotiation"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "track_activities"
    value        = "1"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "track_activity_query_size"
    value        = "4096"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "track_commit_timestamp"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "transform_null_equals"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "update_process_title"
    value        = "1"
  }
  parameter {
    apply_method = "immediate"
    name         = "wal_receiver_timeout"
    value        = "0"
  }
  parameter {
    apply_method = "immediate"
    name         = "wal_sender_timeout"
    value        = "3600000"
  }
  parameter {
    apply_method = "immediate"
    name         = "work_mem"
    value        = "10240"
  }
  parameter {
    apply_method = "pending-reboot"
    name         = "aurora.enhanced_logical_replication"
    value        = "1"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "aurora.logical_replication_backup"
    value        = "0"
  }

  parameter {
    apply_method = "pending-reboot"
    name         = "aurora.logical_replication_globaldb"
    value        = "0"
  }

}


