digraph pg_ddl {
rankdir = LR
"user" -> "ddlx_create"
"user" -> "ddlx_drop"
"user" -> "ddlx_script"
# ddlx_alter_class
# ddlx_alter_database
# ddlx_alter_owner
# ddlx_alter_role
# ddlx_alter_role_auth
"ddlx_alter_role" -> "ddlx_alter_role_auth";
# ddlx_alter_sequence
# ddlx_alter_table_defaults
"ddlx_alter_table_defaults" -> "ddlx_describe";
# ddlx_alter_table_rls
# ddlx_alter_table_settings
# ddlx_alter_table_storage
"ddlx_alter_table_storage" -> "ddlx_describe";
# ddlx_apropos
# ddlx_banner
# ddlx_comment
# ddlx_create
# ddlx_create_access_method
# ddlx_create_aggregate
# ddlx_create_amop
# ddlx_create_amproc
# ddlx_create_cast
# ddlx_create_class
"ddlx_create_class" -> "ddlx_alter_owner";
"ddlx_create_class" -> "ddlx_banner";
"ddlx_create_class" -> "ddlx_comment";
"ddlx_create_class" -> "ddlx_create_index";
"ddlx_create_class" -> "ddlx_create_sequence";
"ddlx_create_class" -> "ddlx_create_table";
"ddlx_create_class" -> "ddlx_create_view";
"ddlx_create_class" -> "ddlx_describe";
# ddlx_create_collation
# ddlx_create_constraint
# ddlx_create_constraints
"ddlx_create_constraints" -> "ddlx_get_constraints";
# ddlx_create_conversion
# ddlx_create_database
"ddlx_create" -> "ddlx_create";
"ddlx_create" -> "ddlx_definitions";
# ddlx_create_default
# ddlx_create_event_trigger
# ddlx_create_foreign_data_wrapper
# ddlx_create_function
"ddlx_create_function" -> "ddlx_banner";
"ddlx_create_function" -> "ddlx_create_aggregate";
# ddlx_create_index
# ddlx_create_indexes
"ddlx_create_indexes" -> "ddlx_create";
"ddlx_create_indexes" -> "ddlx_create_index";
"ddlx_create_indexes" -> "ddlx_get_indexes";
# ddlx_create_language
# ddlx_create_operator
# ddlx_create_operator_class
"ddlx_create_operator" -> "ddlx_create_operator";
# ddlx_create_operator_family
# ddlx_create_policy
# ddlx_create_publication
# ddlx_create_role
# ddlx_create_rule
"ddlx_create_rule" -> "ddlx_create_class";
# ddlx_create_rules
"ddlx_create_rules" -> "ddlx_get_rules";
# ddlx_create_schema
# ddlx_create_sequence
"ddlx_create_sequence" -> "ddlx_alter_sequence";
# ddlx_create_server
# ddlx_create_subscription
# ddlx_create_table
"ddlx_create_table" -> "ddlx_describe";
# ddlx_create_tablespace
# ddlx_create_text_search_config
# ddlx_create_text_search_dict
# ddlx_create_text_search_parser
# ddlx_create_text_search_template
# ddlx_create_transform
# ddlx_create_trigger
# ddlx_create_triggers
"ddlx_create_triggers" -> "ddlx_create_trigger";
"ddlx_create_triggers" -> "ddlx_get_triggers";
# ddlx_create_type
# ddlx_create_type_base
"ddlx_create_type" -> "ddlx_create";
"ddlx_create_type" -> "ddlx_create_class";
"ddlx_create_type" -> "ddlx_create_type_base";
"ddlx_create_type" -> "ddlx_create_type_domain";
"ddlx_create_type" -> "ddlx_create_type_enum";
"ddlx_create_type" -> "ddlx_create_type_range";
# ddlx_create_type_domain
# ddlx_create_type_enum
# ddlx_create_type_range
# ddlx_create_type_shell
# ddlx_create_user_mapping
# ddlx_create_view
# ddlx_definitions
"ddlx_definitions" -> "ddlx_alter_database";
"ddlx_definitions" -> "ddlx_alter_owner";
"ddlx_definitions" -> "ddlx_alter_role";
"ddlx_definitions" -> "ddlx_alter_table_defaults";
"ddlx_definitions" -> "ddlx_alter_table_rls";
"ddlx_definitions" -> "ddlx_alter_table_settings";
"ddlx_definitions" -> "ddlx_alter_table_storage";
"ddlx_definitions" -> "ddlx_comment";
"ddlx_definitions" -> "ddlx_create_access_method";
"ddlx_definitions" -> "ddlx_create_amop";
"ddlx_definitions" -> "ddlx_create_amproc";
"ddlx_definitions" -> "ddlx_create_cast";
"ddlx_definitions" -> "ddlx_create_class";
"ddlx_definitions" -> "ddlx_create_collation";
"ddlx_definitions" -> "ddlx_create_constraint";
"ddlx_definitions" -> "ddlx_create_constraints";
"ddlx_definitions" -> "ddlx_create_conversion";
"ddlx_definitions" -> "ddlx_create_database";
"ddlx_definitions" -> "ddlx_create_default";
"ddlx_definitions" -> "ddlx_create_event_trigger";
"ddlx_definitions" -> "ddlx_create_foreign_data_wrapper";
"ddlx_definitions" -> "ddlx_create_function";
"ddlx_definitions" -> "ddlx_create_indexes";
"ddlx_definitions" -> "ddlx_create_language";
"ddlx_definitions" -> "ddlx_create_operator";
"ddlx_definitions" -> "ddlx_create_operator_class";
"ddlx_definitions" -> "ddlx_create_operator_family";
"ddlx_definitions" -> "ddlx_create_policy";
"ddlx_definitions" -> "ddlx_create_publication";
"ddlx_definitions" -> "ddlx_create_role";
"ddlx_definitions" -> "ddlx_create_rule";
"ddlx_definitions" -> "ddlx_create_rules";
"ddlx_definitions" -> "ddlx_create_schema";
"ddlx_definitions" -> "ddlx_create_server";
"ddlx_definitions" -> "ddlx_create_subscription";
"ddlx_definitions" -> "ddlx_create_tablespace";
"ddlx_definitions" -> "ddlx_create_text_search_config";
"ddlx_definitions" -> "ddlx_create_text_search_dict";
"ddlx_definitions" -> "ddlx_create_text_search_parser";
"ddlx_definitions" -> "ddlx_create_text_search_template";
"ddlx_definitions" -> "ddlx_create_transform";
"ddlx_definitions" -> "ddlx_create_trigger";
"ddlx_definitions" -> "ddlx_create_triggers";
"ddlx_definitions" -> "ddlx_create_type";
"ddlx_definitions" -> "ddlx_create_user_mapping";
"ddlx_definitions" -> "ddlx_grants";
# ddlx_describe
# ddlx_drop
# ddlx_drop_amop
# ddlx_drop_amproc
# ddlx_drop_constraint
"ddlx_drop" -> "ddlx_drop";
"ddlx_drop" -> "ddlx_drop_amop";
"ddlx_drop" -> "ddlx_drop_amproc";
"ddlx_drop" -> "ddlx_drop_constraint";
"ddlx_drop" -> "ddlx_drop_default";
"ddlx_drop" -> "ddlx_drop_trigger";
# ddlx_drop_default
# ddlx_drop_trigger
# ddlx_get_constraints
# ddlx_get_dependants
# ddlx_get_functions
# ddlx_get_indexes
# ddlx_get_rules
# ddlx_get_triggers
# ddlx_grants
# ddlx_grants_columns
"ddlx_grants" -> "ddlx_grants";
"ddlx_grants" -> "ddlx_grants_columns";
# ddlx_grants_to_role
# ddlx_identify
# ddlx_script
"ddlx_script" -> "ddlx_script";
"ddlx_script" -> "ddlx_script_parts";
# ddlx_script_parts
"ddlx_script_parts" -> "ddlx_create";
"ddlx_script_parts" -> "ddlx_drop";
"ddlx_script_parts" -> "ddlx_get_dependants";
}