jush.tr.pgsql = { sql_apo: /'/, sqlite_quo: /"/, pgsql_eot: /\$/, one: /--/, com_nest: /\/\*/, pgsql_pgsqlset: /(\b)(SHOW|SET)(\s+)/i, num: jush.num }; // standard_conforming_strings=off
jush.tr.pgsql_eot = { pgsql_eot2: /([a-z]\w*)?\$/i, _1: /()/ };
jush.tr.pgsql_eot2 = { }; // pgsql_eot2._2 to be set in pgsql_eot handler
jush.tr.pgsql_pgsqlset = { sql_apo: /'/, sqlite_quo: /"/, pgsql_eot: /\$/, one: /--/, com_nest: /\/\*/, num: jush.num, _1: /;|$/ };
jush.tr.pgsqlset = { _0: /$/ };

jush.urls.pgsql_pgsqlset = 'https://www.postgresql.org/docs/current/$key';
jush.links.pgsql_pgsqlset = { 'sql-$val.html': /.+/ };

jush.slugs.pgsql = (name, key) => name.toLowerCase().replace(/(^|\s+)/g, (key == 'sql-$1.html' ? '' : '-'));
jush.slugs.pgsqlset = name => name.replace(/_/g, '-').toUpperCase();

jush.build_links2('pgsql', 'https://www.postgresql.org/docs/current/$key', /(\b)/, /(\b)/gi, {
	'sql-alteropclass.html': /(ALTER\s+OPERATOR\s+CLASS)/,
	'sql-alteropfamily.html': /(ALTER\s+OPERATOR\s+FAMILY)/,
	'sql-altertsconfig.html': /(ALTER\s+TEXT\s+SEARCH\s+CONFIGURATION)/,
	'sql-altertsdictionary.html': /(ALTER\s+TEXT\s+SEARCH\s+DICTIONARY)/,
	'sql-altertsparser.html': /(ALTER\s+TEXT\s+SEARCH\s+PARSER)/,
	'sql-altertstemplate.html': /(ALTER\s+TEXT\s+SEARCH\s+TEMPLATE)/,
	'sql-createopclass.html': /(CREATE\s+OPERATOR\s+CLASS)/,
	'sql-createopfamily.html': /(CREATE\s+OPERATOR\s+FAMILY)/,
	'sql-createtsconfig.html': /(CREATE\s+TEXT\s+SEARCH\s+CONFIGURATION)/,
	'sql-createtsdictionary.html': /(CREATE\s+TEXT\s+SEARCH\s+DICTIONARY)/,
	'sql-createtsparser.html': /(CREATE\s+TEXT\s+SEARCH\s+PARSER)/,
	'sql-createtstemplate.html': /(CREATE\s+TEXT\s+SEARCH\s+TEMPLATE)/,
	'sql-dropopclass.html': /(DROP\s+OPERATOR\s+CLASS)/,
	'sql-dropopfamily.html': /(DROP\s+OPERATOR\s+FAMILY)/,
	'sql-droptsconfig.html': /(DROP\s+TEXT\s+SEARCH\s+CONFIGURATION)/,
	'sql-droptsdictionary.html': /(DROP\s+TEXT\s+SEARCH\s+DICTIONARY)/,
	'sql-droptsparser.html': /(DROP\s+TEXT\s+SEARCH\s+PARSER)/,
	'sql-droptstemplate.html': /(DROP\s+TEXT\s+SEARCH\s+TEMPLATE)/,
	'sql-rollback-to.html': /(ROLLBACK\s+TO\s+SAVEPOINT)/,
	'sql$1.html': /(COMMIT\s+PREPARED|CREATE\s+ACCESS\s+METHOD|DROP\s+ACCESS\s+METHOD|DROP\s+OWNED|PREPARE\s+TRANSACTION|REASSIGN\s+OWNED|RELEASE\s+SAVEPOINT|ROLLBACK\s+PREPARED|SECURITY\s+LABEL|SET\s+CONSTRAINTS|SET\s+ROLE|SET\s+SESSION\s+AUTHORIZATION|SET\s+TRANSACTION|START\s+TRANSACTION)/,
	'sql-$1.html': /(ABORT|ALTER\s+AGGREGATE|ALTER\s+COLLATION|ALTER\s+CONVERSION|ALTER\s+DATABASE|ALTER\s+DEFAULT\s+PRIVILEGES|ALTER\s+DOMAIN|ALTER\s+EVENT\s+TRIGGER|ALTER\s+EXTENSION|ALTER\s+FOREIGN\s+DATA\s+WRAPPER|ALTER\s+FOREIGN\s+TABLE|ALTER\s+FUNCTION|ALTER\s+GROUP|ALTER\s+INDEX|ALTER\s+LANGUAGE|ALTER\s+LARGE\s+OBJECT|ALTER\s+MATERIALIZED\s+VIEW|ALTER\s+OPERATOR|ALTER\s+POLICY|ALTER\s+PROCEDURE|ALTER\s+PUBLICATION|ALTER\s+ROLE|ALTER\s+ROUTINE|ALTER\s+RULE|ALTER\s+SCHEMA|ALTER\s+SEQUENCE|ALTER\s+SERVER|ALTER\s+STATISTICS|ALTER\s+SUBSCRIPTION|ALTER\s+SYSTEM|ALTER\s+TABLE|ALTER\s+TABLESPACE|ALTER\s+TRIGGER|ALTER\s+TYPE|ALTER\s+USER\s+MAPPING|ALTER\s+USER|ALTER\s+VIEW|ANALYZE|BEGIN|CALL|CHECKPOINT|CLOSE|CLUSTER|COMMENT|COMMIT|COPY|CREATE\s+AGGREGATE|CREATE\s+CAST|CREATE\s+COLLATION|CREATE\s+CONVERSION|CREATE\s+DATABASE|CREATE\s+DOMAIN|CREATE\s+EVENT\s+TRIGGER|CREATE\s+EXTENSION|CREATE\s+FOREIGN\s+DATA\s+WRAPPER|CREATE\s+FOREIGN\s+TABLE|CREATE\s+FUNCTION|CREATE\s+GROUP|CREATE\s+INDEX|CREATE\s+LANGUAGE|CREATE\s+MATERIALIZED\s+VIEW|CREATE\s+OPERATOR|CREATE\s+POLICY|CREATE\s+PROCEDURE|CREATE\s+PUBLICATION|CREATE\s+ROLE|CREATE\s+RULE|CREATE\s+SCHEMA|CREATE\s+SEQUENCE|CREATE\s+SERVER|CREATE\s+STATISTICS|CREATE\s+SUBSCRIPTION|CREATE\s+TABLE\s+AS|CREATE\s+TABLE|CREATE\s+TABLESPACE|CREATE\s+TRANSFORM|CREATE\s+TRIGGER|CREATE\s+TYPE|CREATE\s+USER\s+MAPPING|CREATE\s+USER|CREATE\s+VIEW|DEALLOCATE|DECLARE|DELETE|DISCARD|DO|DROP\s+AGGREGATE|DROP\s+CAST|DROP\s+COLLATION|DROP\s+CONVERSION|DROP\s+DATABASE|DROP\s+DOMAIN|DROP\s+EVENT\s+TRIGGER|DROP\s+EXTENSION|DROP\s+FOREIGN\s+DATA\s+WRAPPER|DROP\s+FOREIGN\s+TABLE|DROP\s+FUNCTION|DROP\s+GROUP|DROP\s+INDEX|DROP\s+LANGUAGE|DROP\s+MATERIALIZED\s+VIEW|DROP\s+OPERATOR|DROP\s+POLICY|DROP\s+PROCEDURE|DROP\s+PUBLICATION|DROP\s+ROLE|DROP\s+ROUTINE|DROP\s+RULE|DROP\s+SCHEMA|DROP\s+SEQUENCE|DROP\s+SERVER|DROP\s+STATISTICS|DROP\s+SUBSCRIPTION|DROP\s+TABLE|DROP\s+TABLESPACE|DROP\s+TRANSFORM|DROP\s+TRIGGER|DROP\s+TYPE|DROP\s+USER\s+MAPPING|DROP\s+USER|DROP\s+VIEW|END|EXECUTE|EXPLAIN|FETCH|GRANT|IMPORT\s+FOREIGN\s+SCHEMA|INSERT|LISTEN|LOAD|LOCK|MERGE|MOVE|NOTIFY|PREPARE|REFRESH\s+MATERIALIZED\s+VIEW|REINDEX|RESET|REVOKE|ROLLBACK|SAVEPOINT|SELECT\s+INTO|SELECT|SET|SHOW|TRUNCATE|UNLISTEN|UPDATE|VACUUM|VALUES)/,
	'functions-datetime.html': /(current_date|current_time|current_timestamp|localtime|localtimestamp|AT\s+TIME\s+ZONE|(?:age|clock_timestamp|date_add|date_bin|date_part|date_subtract|date_trunc|extract|isfinite|justify_days|justify_hours|justify_interval|make_date|make_interval|make_time|make_timestamp|make_timestamptz|now|statement_timestamp|timeofday|to_timestamp|transaction_timestamp)(?=\s*\(|$))/,
	'functions-info.html': /(current_catalog|current_role|current_schema|current_user|session_user|system_user|user|(?:acldefault|aclexplode|age|col_description|current_database|current_query|current_schemas|format_type|has_any_column_privilege|has_column_privilege|has_database_privilege|has_foreign_data_wrapper_privilege|has_function_privilege|has_language_privilege|has_largeobject_privilege|has_parameter_privilege|has_schema_privilege|has_sequence_privilege|has_server_privilege|has_table_privilege|has_tablespace_privilege|has_type_privilege|icu_unicode_version|inet_client_addr|inet_client_port|inet_server_addr|inet_server_port|makeaclitem|mxid_age|obj_description|pg_available_wal_summaries|pg_backend_pid|pg_basetype|pg_blocking_pids|pg_char_to_encoding|pg_collation_is_visible|pg_conf_load_time|pg_control_checkpoint|pg_control_init|pg_control_recovery|pg_control_system|pg_conversion_is_visible|pg_current_logfile|pg_current_snapshot|pg_current_xact_id|pg_current_xact_id_if_assigned|pg_describe_object|pg_encoding_to_char|pg_function_is_visible|pg_get_acl|pg_get_catalog_foreign_keys|pg_get_constraintdef|pg_get_expr|pg_get_function_arguments|pg_get_function_identity_arguments|pg_get_function_result|pg_get_functiondef|pg_get_indexdef|pg_get_keywords|pg_get_loaded_modules|pg_get_multixact_members|pg_get_object_address|pg_get_partition_constraintdef|pg_get_partkeydef|pg_get_ruledef|pg_get_serial_sequence|pg_get_statisticsobjdef|pg_get_triggerdef|pg_get_userbyid|pg_get_viewdef|pg_get_wal_summarizer_state|pg_has_role|pg_identify_object|pg_identify_object_as_address|pg_index_column_has_property|pg_index_has_property|pg_indexam_has_property|pg_input_error_info|pg_input_is_valid|pg_is_other_temp_schema|pg_jit_available|pg_last_committed_xact|pg_listening_channels|pg_my_temp_schema|pg_notification_queue_usage|pg_numa_available|pg_opclass_is_visible|pg_operator_is_visible|pg_opfamily_is_visible|pg_options_to_table|pg_postmaster_start_time|pg_safe_snapshot_blocking_pids|pg_settings_get_flags|pg_snapshot_xip|pg_snapshot_xmax|pg_snapshot_xmin|pg_statistics_obj_is_visible|pg_table_is_visible|pg_tablespace_databases|pg_tablespace_location|pg_trigger_depth|pg_ts_config_is_visible|pg_ts_dict_is_visible|pg_ts_parser_is_visible|pg_ts_template_is_visible|pg_type_is_visible|pg_typeof|pg_visible_in_snapshot|pg_wal_summary_contents|pg_xact_commit_timestamp|pg_xact_commit_timestamp_origin|pg_xact_status|row_security_active|shobj_description|to_regclass|to_regcollation|to_regnamespace|to_regoper|to_regoperator|to_regproc|to_regprocedure|to_regrole|to_regtype|to_regtypemod|txid_current|txid_current_if_assigned|txid_current_snapshot|txid_snapshot_xip|txid_snapshot_xmax|txid_snapshot_xmin|txid_status|txid_visible_in_snapshot|unicode_version|version)(?=\s*\(|$))/,
	'functions-logical.html': /(AND|NOT|OR)/,
	'functions-comparison.html': /(BETWEEN|(?:num_nonnulls|num_nulls)(?=\s*\(|$))/,
	'functions-matching.html': /(LIKE|SIMILAR\s+TO|(?:regexp_like)(?=\s*\(|$))/,
	'functions-conditional.html': /(CASE|WHEN|THEN|ELSE|(?:coalesce|greatest|least|nullif)(?=\s*\(|$))/,
	'functions-subquery.html': /(EXISTS|IN|ANY|SOME|ALL)/,
	'': /(ANALYSE|ARRAY|AS|ASC|ASYMMETRIC|AUTHORIZATION|BINARY|BOTH|CAST|CHECK|COLLATE|COLLATION|COLUMN|CONCURRENTLY|CONSTRAINT|CREATE|CROSS|DEFAULT|DEFERRABLE|DESC|DISTINCT|EXCEPT|FALSE|FOR|FOREIGN|FREEZE|FROM|FULL|GROUP|HAVING|ILIKE|INITIALLY|INNER|INTERSECT|INTO|IS|ISNULL|JOIN|LATERAL|LEADING|LEFT|LIMIT|NATURAL|NOTNULL|NULL|OFFSET|ON|ONLY|ORDER|OUTER|OVERLAPS|PLACING|PRIMARY|REFERENCES|RETURNING|RIGHT|SIMILAR|SYMMETRIC|TABLE|TABLESAMPLE|TO|TRAILING|TRUE|UNION|UNIQUE|USING|VARIADIC|VERBOSE|WHERE|WINDOW|WITH)/,
	'functions-math.html': /((?:abs|acos|acosd|acosh|asin|asind|asinh|atan|atan2|atan2d|atand|atanh|cbrt|ceil|ceiling|cos|cosd|cosh|cot|cotd|degrees|div|erf|erfc|exp|factorial|floor|gamma|gcd|lcm|lgamma|ln|log|log10|min_scale|mod|pi|power|radians|random|random_normal|round|scale|setseed|sign|sin|sind|sinh|sqrt|tan|tand|tanh|trim_scale|trunc|width_bucket)(?=\s*\(|$))/,
	'functions-string.html': /((?:ascii|bit_length|btrim|casefold|char_length|character_length|chr|concat|concat_ws|format|initcap|left|length|lower|lpad|ltrim|md5|normalize|octet_length|overlay|parse_ident|pg_client_encoding|position|quote_ident|quote_literal|quote_nullable|regexp_count|regexp_instr|regexp_like|regexp_match|regexp_matches|regexp_replace|regexp_split_to_array|regexp_split_to_table|regexp_substr|repeat|replace|reverse|right|rpad|rtrim|split_part|starts_with|string_to_array|string_to_table|strpos|substr|substring|to_ascii|to_bin|to_hex|to_oct|translate|trim|unicode_assigned|unistr|upper)(?=\s*\(|$))/,
	'functions-binarystring.html': /((?:bit_count|bit_length|btrim|convert|convert_from|convert_to|crc32|crc32c|decode|encode|get_bit|get_byte|length|ltrim|md5|octet_length|overlay|position|reverse|rtrim|set_bit|set_byte|sha224|sha256|sha384|sha512|substr|substring|trim)(?=\s*\(|$))/,
	'functions-formatting.html': /((?:to_char|to_date|to_number|to_timestamp)(?=\s*\(|$))/,
	'functions-geometry.html': /((?:area|bound_box|box|center|circle|diagonal|diameter|height|isclosed|isopen|length|line|lseg|npoints|path|pclose|point|polygon|popen|radius|slope|width)(?=\s*\(|$))/,
	'functions-net.html': /((?:abbrev|broadcast|family|host|hostmask|inet_merge|inet_same_family|macaddr8_set7bit|masklen|netmask|network|set_masklen|text|trunc)(?=\s*\(|$))/,
	'functions-sequence.html': /((?:currval|lastval|nextval|setval)(?=\s*\(|$))/,
	'functions-array.html': /((?:array_append|array_cat|array_dims|array_fill|array_length|array_lower|array_ndims|array_position|array_positions|array_prepend|array_remove|array_replace|array_reverse|array_sample|array_shuffle|array_sort|array_to_string|array_upper|cardinality|trim_array|unnest)(?=\s*\(|$))/,
	'functions-aggregate.html': /((?:any_value|array_agg|avg|bit_and|bit_or|bit_xor|bool_and|bool_or|corr|count|covar_pop|covar_samp|cume_dist|dense_rank|every|grouping|json_agg|json_agg_strict|json_arrayagg|json_object_agg|json_object_agg_strict|json_object_agg_unique|json_object_agg_unique_strict|json_objectagg|jsonb_agg|jsonb_agg_strict|jsonb_object_agg|jsonb_object_agg_strict|jsonb_object_agg_unique|jsonb_object_agg_unique_strict|max|min|mode|percent_rank|percentile_cont|percentile_disc|range_agg|range_intersect_agg|rank|regr_avgx|regr_avgy|regr_count|regr_intercept|regr_r2|regr_slope|regr_sxx|regr_sxy|regr_syy|stddev|stddev_pop|stddev_samp|string_agg|sum|var_pop|var_samp|variance|xmlagg)(?=\s*\(|$))/,
	'functions-srf.html': /((?:generate_series|generate_subscripts)(?=\s*\(|$))/,
	'functions-admin.html': /((?:brin_desummarize_range|brin_summarize_new_values|brin_summarize_range|current_setting|gin_clean_pending_list|pg_advisory_lock|pg_advisory_lock_shared|pg_advisory_unlock|pg_advisory_unlock_all|pg_advisory_unlock_shared|pg_advisory_xact_lock|pg_advisory_xact_lock_shared|pg_backup_start|pg_backup_stop|pg_cancel_backend|pg_clear_attribute_stats|pg_clear_relation_stats|pg_collation_actual_version|pg_column_compression|pg_column_size|pg_column_toast_chunk_id|pg_copy_logical_replication_slot|pg_copy_physical_replication_slot|pg_create_logical_replication_slot|pg_create_physical_replication_slot|pg_create_restore_point|pg_current_wal_flush_lsn|pg_current_wal_insert_lsn|pg_current_wal_lsn|pg_database_collation_actual_version|pg_database_size|pg_drop_replication_slot|pg_export_snapshot|pg_filenode_relation|pg_get_wal_replay_pause_state|pg_get_wal_resource_managers|pg_import_system_collations|pg_indexes_size|pg_is_in_recovery|pg_is_wal_replay_paused|pg_last_wal_receive_lsn|pg_last_wal_replay_lsn|pg_last_xact_replay_timestamp|pg_log_backend_memory_contexts|pg_log_standby_snapshot|pg_logical_emit_message|pg_logical_slot_get_binary_changes|pg_logical_slot_get_changes|pg_logical_slot_peek_binary_changes|pg_logical_slot_peek_changes|pg_ls_archive_statusdir|pg_ls_dir|pg_ls_logdir|pg_ls_logicalmapdir|pg_ls_logicalsnapdir|pg_ls_replslotdir|pg_ls_summariesdir|pg_ls_tmpdir|pg_ls_waldir|pg_partition_ancestors|pg_partition_root|pg_partition_tree|pg_promote|pg_read_binary_file|pg_read_file|pg_relation_filenode|pg_relation_filepath|pg_relation_size|pg_reload_conf|pg_replication_origin_advance|pg_replication_origin_create|pg_replication_origin_drop|pg_replication_origin_oid|pg_replication_origin_progress|pg_replication_origin_session_is_setup|pg_replication_origin_session_progress|pg_replication_origin_session_reset|pg_replication_origin_session_setup|pg_replication_origin_xact_reset|pg_replication_origin_xact_setup|pg_replication_slot_advance|pg_restore_attribute_stats|pg_restore_relation_stats|pg_rotate_logfile|pg_size_bytes|pg_size_pretty|pg_split_walfile_name|pg_stat_file|pg_switch_wal|pg_sync_replication_slots|pg_table_size|pg_tablespace_size|pg_terminate_backend|pg_total_relation_size|pg_try_advisory_lock|pg_try_advisory_lock_shared|pg_try_advisory_xact_lock|pg_try_advisory_xact_lock_shared|pg_wal_lsn_diff|pg_wal_replay_pause|pg_wal_replay_resume|pg_walfile_name|pg_walfile_name_offset|set_config)(?=\s*\(|$))/,
	'functions-bitstring.html': /((?:bit_count|bit_length|get_bit|length|octet_length|overlay|position|set_bit|substring)(?=\s*\(|$))/,
	'functions-enum.html': /((?:enum_first|enum_last|enum_range)(?=\s*\(|$))/,
	'functions-textsearch.html': /((?:array_to_tsvector|get_current_ts_config|json_to_tsvector|jsonb_to_tsvector|length|numnode|phraseto_tsquery|plainto_tsquery|querytree|setweight|strip|to_tsquery|to_tsvector|ts_debug|ts_delete|ts_filter|ts_headline|ts_lexize|ts_parse|ts_rank|ts_rank_cd|ts_rewrite|ts_stat|ts_token_type|tsquery_phrase|tsvector_to_array|unnest|websearch_to_tsquery)(?=\s*\(|$))/,
	'functions-uuid.html': /((?:gen_random_uuid|uuid_extract_timestamp|uuid_extract_version|uuidv4|uuidv7)(?=\s*\(|$))/,
	'functions-xml.html': /((?:cursor_to_xml|cursor_to_xmlschema|database_to_xml|database_to_xml_and_xmlschema|database_to_xmlschema|query_to_xml|query_to_xml_and_xmlschema|query_to_xmlschema|schema_to_xml|schema_to_xml_and_xmlschema|schema_to_xmlschema|table_to_xml|table_to_xml_and_xmlschema|table_to_xmlschema|xml_is_well_formed|xml_is_well_formed_content|xml_is_well_formed_document|xmlagg|xmlcomment|xmlconcat|xmlelement|xmlexists|xmlforest|xmlpi|xmlroot|xmltable|xmltext|xpath|xpath_exists)(?=\s*\(|$))/,
	'functions-json.html': /((?:array_to_json|json|json_array|json_array_elements|json_array_elements_text|json_array_length|json_build_array|json_build_object|json_each|json_each_text|json_exists|json_extract_path|json_extract_path_text|json_object|json_object_keys|json_populate_record|json_populate_recordset|json_query|json_scalar|json_serialize|json_strip_nulls|json_to_record|json_to_recordset|json_typeof|json_value|jsonb_array_elements|jsonb_array_elements_text|jsonb_array_length|jsonb_build_array|jsonb_build_object|jsonb_each|jsonb_each_text|jsonb_extract_path|jsonb_extract_path_text|jsonb_insert|jsonb_object|jsonb_object_keys|jsonb_path_exists|jsonb_path_exists_tz|jsonb_path_match|jsonb_path_match_tz|jsonb_path_query|jsonb_path_query_array|jsonb_path_query_array_tz|jsonb_path_query_first|jsonb_path_query_first_tz|jsonb_path_query_tz|jsonb_populate_record|jsonb_populate_record_valid|jsonb_populate_recordset|jsonb_pretty|jsonb_set|jsonb_set_lax|jsonb_strip_nulls|jsonb_to_record|jsonb_to_recordset|jsonb_typeof|row_to_json|to_json|to_jsonb)(?=\s*\(|$))/,
	'functions-range.html': /((?:isempty|lower|lower_inc|lower_inf|multirange|range_merge|unnest|upper|upper_inc|upper_inf)(?=\s*\(|$))/,
	'functions-window.html': /((?:cume_dist|dense_rank|first_value|lag|last_value|lead|nth_value|ntile|percent_rank|rank|row_number)(?=\s*\(|$))/,
	'functions-merge-support.html': /((?:merge_action)(?=\s*\(|$))/,
	'functions-trigger.html': /((?:suppress_redundant_updates_trigger|tsvector_update_trigger|tsvector_update_trigger_column)(?=\s*\(|$))/,
	'functions-event-triggers.html': /((?:pg_event_trigger_ddl_commands|pg_event_trigger_dropped_objects|pg_event_trigger_table_rewrite_oid|pg_event_trigger_table_rewrite_reason)(?=\s*\(|$))/,
	'functions-statistics.html': /((?:pg_mcv_list_items)(?=\s*\(|$))/,
}); // collisions: IN, ANY, SOME, ALL (array), trunc, md5, abbrev

jush.build_links2('pgsqlset', 'https://www.postgresql.org/docs/current/runtime-config-$key.html#GUC-$1', /(\b)/, /(\b)/gi, {
	'client': /(DateStyle|IntervalStyle|TimeZone|bytea_output|check_function_bodies|client_encoding|client_min_messages|createrole_self_grant|default_table_access_method|default_tablespace|default_text_search_config|default_toast_compression|default_transaction_deferrable|default_transaction_isolation|default_transaction_read_only|dynamic_library_path|event_triggers|extension_control_path|extra_float_digits|gin_fuzzy_search_limit|gin_pending_list_limit|icu_validation_level|idle_in_transaction_session_timeout|idle_session_timeout|jit_provider|lc_messages|lc_monetary|lc_numeric|lc_time|local_preload_libraries|lock_timeout|restrict_nonsystem_relation_kind|row_security|search_path|session_preload_libraries|session_replication_role|shared_preload_libraries|statement_timeout|temp_tablespaces|timezone_abbreviations|transaction_deferrable|transaction_isolation|transaction_read_only|transaction_timeout|xmlbinary|xmloption)/,
	'compatible': /(allow_alter_system|array_nulls|backslash_quote|escape_string_warning|lo_compat_privileges|standard_conforming_strings|synchronize_seqscans|transform_null_equals)/,
	'connection': /(authentication_timeout|bonjour|bonjour_name|client_connection_check_interval|gss_accept_delegation|krb_caseins_users|krb_server_keyfile|listen_addresses|max_connections|md5_password_warnings|oauth_validator_libraries|password_encryption|port|reserved_connections|scram_iterations|ssl|ssl_ca_file|ssl_cert_file|ssl_ciphers|ssl_crl_dir|ssl_crl_file|ssl_dh_params_file|ssl_groups|ssl_key_file|ssl_max_protocol_version|ssl_min_protocol_version|ssl_passphrase_command|ssl_passphrase_command_supports_reload|ssl_prefer_server_ciphers|ssl_tls13_ciphers|superuser_reserved_connections|tcp_keepalives_count|tcp_keepalives_idle|tcp_keepalives_interval|tcp_user_timeout|unix_socket_directories|unix_socket_group|unix_socket_permissions)/,
	'developer': /(allow_in_place_tablespaces|allow_system_table_mods|backtrace_functions|debug_copy_parse_plan_trees|debug_deadlocks|debug_discard_caches|debug_io_direct|debug_logical_replication_streaming|debug_parallel_query|debug_raw_expression_coverage_test|debug_write_read_parse_plan_trees|ignore_checksum_failure|ignore_invalid_pages|ignore_system_indexes|jit_debugging_support|jit_dump_bitcode|jit_expressions|jit_profiling_support|jit_tuple_deforming|log_btree_build_stats|post_auth_delay|pre_auth_delay|remove_temp_files_after_crash|send_abort_for_crash|send_abort_for_kill|trace_lock_oidmin|trace_lock_table|trace_locks|trace_lwlocks|trace_notify|trace_sort|trace_userlocks|wal_consistency_checking|wal_debug|zero_damaged_pages)/,
	'error-handling': /(data_sync_retry|exit_on_error|recovery_init_sync_method|restart_after_crash)/,
	'file-locations': /(config_file|data_directory|external_pid_file|hba_file|ident_file)/,
	'locks': /(deadlock_timeout|max_locks_per_transaction|max_pred_locks_per_page|max_pred_locks_per_relation|max_pred_locks_per_transaction)/,
	'logging': /(application_name|cluster_name|event_source|log_autovacuum_min_duration|log_checkpoints|log_connections|log_destination|log_directory|log_disconnections|log_duration|log_error_verbosity|log_file_mode|log_filename|log_hostname|log_line_prefix|log_lock_failures|log_lock_waits|log_min_duration_sample|log_min_duration_statement|log_min_error_statement|log_min_messages|log_parameter_max_length|log_parameter_max_length_on_error|log_recovery_conflict_waits|log_replication_commands|log_rotation_age|log_rotation_size|log_startup_progress_interval|log_statement|log_statement_sample_rate|log_temp_files|log_timezone|log_transaction_sample_rate|log_truncate_on_rotation|logging_collector|syslog_facility|syslog_ident|syslog_sequence_numbers|syslog_split_messages|update_process_title)/,
	'preset': /(block_size|data_checksums|data_directory_mode|debug_assertions|huge_pages_status|in_hot_standby|integer_datetimes|max_function_args|max_identifier_length|max_index_keys|num_os_semaphores|segment_size|server_encoding|server_version|server_version_num|shared_memory_size|shared_memory_size_in_huge_pages|ssl_library|wal_block_size|wal_segment_size)/,
	'query': /(constraint_exclusion|cpu_index_tuple_cost|cpu_operator_cost|cpu_tuple_cost|cursor_tuple_fraction|default_statistics_target|effective_cache_size|enable_async_append|enable_bitmapscan|enable_distinct_reordering|enable_gathermerge|enable_group_by_reordering|enable_hashagg|enable_hashjoin|enable_incremental_sort|enable_indexonlyscan|enable_indexscan|enable_material|enable_memoize|enable_mergejoin|enable_nestloop|enable_parallel_append|enable_parallel_hash|enable_partition_pruning|enable_partitionwise_aggregate|enable_partitionwise_join|enable_presorted_aggregate|enable_self_join_elimination|enable_seqscan|enable_sort|enable_tidscan|from_collapse_limit|geqo|geqo_effort|geqo_generations|geqo_pool_size|geqo_seed|geqo_selection_bias|geqo_threshold|jit|jit_above_cost|jit_inline_above_cost|jit_optimize_above_cost|join_collapse_limit|min_parallel_index_scan_size|min_parallel_table_scan_size|parallel_setup_cost|parallel_tuple_cost|plan_cache_mode|random_page_cost|recursive_worktable_factor|seq_page_cost)/,
	'replication': /(hot_standby|hot_standby_feedback|idle_replication_slot_timeout|max_active_replication_origins|max_logical_replication_workers|max_parallel_apply_workers_per_subscription|max_replication_slots|max_slot_wal_keep_size|max_standby_archive_delay|max_standby_streaming_delay|max_sync_workers_per_subscription|max_wal_senders|primary_conninfo|primary_slot_name|recovery_min_apply_delay|sync_replication_slots|synchronized_standby_slots|synchronous_standby_names|track_commit_timestamp|wal_keep_size|wal_receiver_create_temp_slot|wal_receiver_status_interval|wal_receiver_timeout|wal_retrieve_retry_interval|wal_sender_timeout)/,
	'resource': /(autovacuum_work_mem|backend_flush_after|bgwriter_delay|bgwriter_flush_after|bgwriter_lru_maxpages|bgwriter_lru_multiplier|commit_timestamp_buffers|dynamic_shared_memory_type|effective_io_concurrency|file_copy_method|file_extend_method|hash_mem_multiplier|huge_page_size|huge_pages|io_combine_limit|io_max_combine_limit|io_max_concurrency|io_method|io_workers|logical_decoding_work_mem|maintenance_io_concurrency|maintenance_work_mem|max_files_per_process|max_notify_queue_pages|max_parallel_maintenance_workers|max_parallel_workers|max_parallel_workers_per_gather|max_prepared_transactions|max_stack_depth|max_worker_processes|min_dynamic_shared_memory|multixact_member_buffers|multixact_offset_buffers|notify_buffers|parallel_leader_participation|serializable_buffers|shared_buffers|shared_memory_type|subtransaction_buffers|temp_buffers|temp_file_limit|transaction_buffers|vacuum_buffer_usage_limit|work_mem)/,
	'statistics': /(compute_query_id|stats_fetch_consistency|track_activities|track_activity_query_size|track_cost_delay_timing|track_counts|track_functions|track_io_timing|track_wal_io_timing)/,
	'vacuum': /(autovacuum|autovacuum_analyze_scale_factor|autovacuum_analyze_threshold|autovacuum_freeze_max_age|autovacuum_max_workers|autovacuum_multixact_freeze_max_age|autovacuum_naptime|autovacuum_vacuum_cost_delay|autovacuum_vacuum_cost_limit|autovacuum_vacuum_insert_scale_factor|autovacuum_vacuum_insert_threshold|autovacuum_vacuum_max_threshold|autovacuum_vacuum_scale_factor|autovacuum_vacuum_threshold|autovacuum_worker_slots|vacuum_cost_delay|vacuum_cost_limit|vacuum_cost_page_dirty|vacuum_cost_page_hit|vacuum_cost_page_miss|vacuum_failsafe_age|vacuum_freeze_min_age|vacuum_freeze_table_age|vacuum_max_eager_freeze_failure_rate|vacuum_multixact_failsafe_age|vacuum_multixact_freeze_min_age|vacuum_multixact_freeze_table_age|vacuum_truncate)/,
	'wal': /(archive_cleanup_command|archive_command|archive_library|archive_mode|archive_timeout|checkpoint_completion_target|checkpoint_flush_after|checkpoint_timeout|checkpoint_warning|commit_delay|commit_siblings|fsync|full_page_writes|max_wal_size|min_wal_size|recovery_end_command|recovery_prefetch|recovery_target|recovery_target_action|recovery_target_inclusive|recovery_target_lsn|recovery_target_name|recovery_target_time|recovery_target_timeline|recovery_target_xid|restore_command|summarize_wal|synchronous_commit|wal_buffers|wal_compression|wal_decode_buffer_size|wal_init_zero|wal_level|wal_log_hints|wal_recycle|wal_skip_threshold|wal_summary_keep_time|wal_sync_method|wal_writer_delay|wal_writer_flush_after)/,
});
