Part VII. Internals
This part contains assorted information that might be of use to PostgreSQL developers.
Table of Contents
- 52. Overview of PostgreSQL Internals
 - 53. System Catalogs
 - 53.1. Overview
- 53.2.
 pg_aggregate- 53.3.
 pg_am- 53.4.
 pg_amop- 53.5.
 pg_amproc- 53.6.
 pg_attrdef- 53.7.
 pg_attribute- 53.8.
 pg_authid- 53.9.
 pg_auth_members- 53.10.
 pg_cast- 53.11.
 pg_class- 53.12.
 pg_collation- 53.13.
 pg_constraint- 53.14.
 pg_conversion- 53.15.
 pg_database- 53.16.
 pg_db_role_setting- 53.17.
 pg_default_acl- 53.18.
 pg_depend- 53.19.
 pg_description- 53.20.
 pg_enum- 53.21.
 pg_event_trigger- 53.22.
 pg_extension- 53.23.
 pg_foreign_data_wrapper- 53.24.
 pg_foreign_server- 53.25.
 pg_foreign_table- 53.26.
 pg_index- 53.27.
 pg_inherits- 53.28.
 pg_init_privs- 53.29.
 pg_language- 53.30.
 pg_largeobject- 53.31.
 pg_largeobject_metadata- 53.32.
 pg_namespace- 53.33.
 pg_opclass- 53.34.
 pg_operator- 53.35.
 pg_opfamily- 53.36.
 pg_parameter_acl- 53.37.
 pg_partitioned_table- 53.38.
 pg_policy- 53.39.
 pg_proc- 53.40.
 pg_publication- 53.41.
 pg_publication_namespace- 53.42.
 pg_publication_rel- 53.43.
 pg_range- 53.44.
 pg_replication_origin- 53.45.
 pg_rewrite- 53.46.
 pg_seclabel- 53.47.
 pg_sequence- 53.48.
 pg_shdepend- 53.49.
 pg_shdescription- 53.50.
 pg_shseclabel- 53.51.
 pg_statistic- 53.52.
 pg_statistic_ext- 53.53.
 pg_statistic_ext_data- 53.54.
 pg_subscription- 53.55.
 pg_subscription_rel- 53.56.
 pg_tablespace- 53.57.
 pg_transform- 53.58.
 pg_trigger- 53.59.
 pg_ts_config- 53.60.
 pg_ts_config_map- 53.61.
 pg_ts_dict- 53.62.
 pg_ts_parser- 53.63.
 pg_ts_template- 53.64.
 pg_type- 53.65.
 pg_user_mapping - 53.2.
 
- 53.1. Overview
 - 54. System Views
 - 54.1. Overview
- 54.2.
 pg_available_extensions- 54.3.
 pg_available_extension_versions- 54.4.
 pg_backend_memory_contexts- 54.5.
 pg_config- 54.6.
 pg_cursors- 54.7.
 pg_file_settings- 54.8.
 pg_group- 54.9.
 pg_hba_file_rules- 54.10.
 pg_ident_file_mappings- 54.11.
 pg_indexes- 54.12.
 pg_locks- 54.13.
 pg_matviews- 54.14.
 pg_policies- 54.15.
 pg_prepared_statements- 54.16.
 pg_prepared_xacts- 54.17.
 pg_publication_tables- 54.18.
 pg_replication_origin_status- 54.19.
 pg_replication_slots- 54.20.
 pg_roles- 54.21.
 pg_rules- 54.22.
 pg_seclabels- 54.23.
 pg_sequences- 54.24.
 pg_settings- 54.25.
 pg_shadow- 54.26.
 pg_shmem_allocations- 54.27.
 pg_stats- 54.28.
 pg_stats_ext- 54.29.
 pg_stats_ext_exprs- 54.30.
 pg_tables- 54.31.
 pg_timezone_abbrevs- 54.32.
 pg_timezone_names- 54.33.
 pg_user- 54.34.
 pg_user_mappings- 54.35.
 pg_views - 54.2.
 
- 54.1. Overview
 - 55. Frontend/Backend Protocol
 - 55.1. Overview
- 55.2. Message Flow
 - 55.3. SASL Authentication
 - 55.4. Streaming Replication Protocol
 - 55.5. Logical Streaming Replication Protocol
 - 55.6. Message Data Types
 - 55.7. Message Formats
 - 55.8. Error and Notice Message Fields
 - 55.9. Logical Replication Message Formats
 - 55.10. Summary of Changes since Protocol 2.0
  - 55.2. Message Flow
 
- 55.1. Overview
 - 56. PostgreSQL Coding Conventions
 - 57. Native Language Support
 - 58. Writing a Procedural Language Handler
- 59. Writing a Foreign Data Wrapper
  - 60. Writing a Table Sampling Method
 - 61. Writing a Custom Scan Provider
 - 62. Genetic Query Optimizer
 - 63. Table Access Method Interface Definition
- 64. Index Access Method Interface Definition
  - 65. Generic WAL Records
- 66. Custom WAL Resource Managers
 - 67. B-Tree Indexes
  - 66. Custom WAL Resource Managers
 - 68. GiST Indexes
 - 69. SP-GiST Indexes
 - 70. GIN Indexes
 - 71. BRIN Indexes
 - 72. Hash Indexes
 - 73. Database Physical Storage
 - 74. System Catalog Declarations and Initial Contents
 - 75. How the Planner Uses Statistics
 - 76. Backup Manifest Format