Part VII. Internals
This part contains assorted information that might be of use to PostgreSQL developers.
Table of Contents
- 50. Overview of PostgreSQL Internals
 - 51. System Catalogs
 - 51.1. Overview
- 51.2.
 pg_aggregate- 51.3.
 pg_am- 51.4.
 pg_amop- 51.5.
 pg_amproc- 51.6.
 pg_attrdef- 51.7.
 pg_attribute- 51.8.
 pg_authid- 51.9.
 pg_auth_members- 51.10.
 pg_cast- 51.11.
 pg_class- 51.12.
 pg_collation- 51.13.
 pg_constraint- 51.14.
 pg_conversion- 51.15.
 pg_database- 51.16.
 pg_db_role_setting- 51.17.
 pg_default_acl- 51.18.
 pg_depend- 51.19.
 pg_description- 51.20.
 pg_enum- 51.21.
 pg_event_trigger- 51.22.
 pg_extension- 51.23.
 pg_foreign_data_wrapper- 51.24.
 pg_foreign_server- 51.25.
 pg_foreign_table- 51.26.
 pg_index- 51.27.
 pg_inherits- 51.28.
 pg_init_privs- 51.29.
 pg_language- 51.30.
 pg_largeobject- 51.31.
 pg_largeobject_metadata- 51.32.
 pg_namespace- 51.33.
 pg_opclass- 51.34.
 pg_operator- 51.35.
 pg_opfamily- 51.36.
 pg_parameter_acl- 51.37.
 pg_partitioned_table- 51.38.
 pg_policy- 51.39.
 pg_proc- 51.40.
 pg_publication- 51.41.
 pg_publication_namespace- 51.42.
 pg_publication_rel- 51.43.
 pg_range- 51.44.
 pg_replication_origin- 51.45.
 pg_rewrite- 51.46.
 pg_seclabel- 51.47.
 pg_sequence- 51.48.
 pg_shdepend- 51.49.
 pg_shdescription- 51.50.
 pg_shseclabel- 51.51.
 pg_statistic- 51.52.
 pg_statistic_ext- 51.53.
 pg_statistic_ext_data- 51.54.
 pg_subscription- 51.55.
 pg_subscription_rel- 51.56.
 pg_tablespace- 51.57.
 pg_transform- 51.58.
 pg_trigger- 51.59.
 pg_ts_config- 51.60.
 pg_ts_config_map- 51.61.
 pg_ts_dict- 51.62.
 pg_ts_parser- 51.63.
 pg_ts_template- 51.64.
 pg_type- 51.65.
 pg_user_mapping - 51.2.
 
- 51.1. Overview
 - 52. System Views
 - 52.1. Overview
- 52.2.
 pg_available_extensions- 52.3.
 pg_available_extension_versions- 52.4.
 pg_backend_memory_contexts- 52.5.
 pg_config- 52.6.
 pg_cursors- 52.7.
 pg_file_settings- 52.8.
 pg_group- 52.9.
 pg_hba_file_rules- 52.10.
 pg_ident_file_mappings- 52.11.
 pg_indexes- 52.12.
 pg_locks- 52.13.
 pg_matviews- 52.14.
 pg_policies- 52.15.
 pg_prepared_statements- 52.16.
 pg_prepared_xacts- 52.17.
 pg_publication_tables- 52.18.
 pg_replication_origin_status- 52.19.
 pg_replication_slots- 52.20.
 pg_roles- 52.21.
 pg_rules- 52.22.
 pg_seclabels- 52.23.
 pg_sequences- 52.24.
 pg_settings- 52.25.
 pg_shadow- 52.26.
 pg_shmem_allocations- 52.27.
 pg_stats- 52.28.
 pg_stats_ext- 52.29.
 pg_stats_ext_exprs- 52.30.
 pg_tables- 52.31.
 pg_timezone_abbrevs- 52.32.
 pg_timezone_names- 52.33.
 pg_user- 52.34.
 pg_user_mappings- 52.35.
 pg_views- 52.36.
 pg_wait_events - 52.2.
 
- 52.1. Overview
 - 53. Frontend/Backend Protocol
 - 53.1. Overview
- 53.2. Message Flow
 - 53.3. SASL Authentication
 - 53.4. Streaming Replication Protocol
 - 53.5. Logical Streaming Replication Protocol
 - 53.6. Message Data Types
 - 53.7. Message Formats
 - 53.8. Error and Notice Message Fields
 - 53.9. Logical Replication Message Formats
 - 53.10. Summary of Changes since Protocol 2.0
  - 53.2. Message Flow
 
- 53.1. Overview
 - 54. PostgreSQL Coding Conventions
 - 55. Native Language Support
 - 56. Writing a Procedural Language Handler
- 57. Writing a Foreign Data Wrapper
  - 58. Writing a Table Sampling Method
 - 59. Writing a Custom Scan Provider
 - 60. Genetic Query Optimizer
 - 61. Table Access Method Interface Definition
- 62. Index Access Method Interface Definition
  - 63. Write Ahead Logging for Extensions
 - 64. Built-in Index Access Methods
 - 65. Database Physical Storage
 - 66. Transaction Processing
 - 67. System Catalog Declarations and Initial Contents
 - 68. How the Planner Uses Statistics
 - 69. Backup Manifest Format