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_partitioned_table- 51.37.
 pg_pltemplate- 51.38.
 pg_policy- 51.39.
 pg_proc- 51.40.
 pg_publication- 51.41.
 pg_publication_rel- 51.42.
 pg_range- 51.43.
 pg_replication_origin- 51.44.
 pg_rewrite- 51.45.
 pg_seclabel- 51.46.
 pg_sequence- 51.47.
 pg_shdepend- 51.48.
 pg_shdescription- 51.49.
 pg_shseclabel- 51.50.
 pg_statistic- 51.51.
 pg_statistic_ext- 51.52.
 pg_statistic_ext_data- 51.53.
 pg_subscription- 51.54.
 pg_subscription_rel- 51.55.
 pg_tablespace- 51.56.
 pg_transform- 51.57.
 pg_trigger- 51.58.
 pg_ts_config- 51.59.
 pg_ts_config_map- 51.60.
 pg_ts_dict- 51.61.
 pg_ts_parser- 51.62.
 pg_ts_template- 51.63.
 pg_type- 51.64.
 pg_user_mapping- 51.65. System Views
 - 51.66.
 pg_available_extensions- 51.67.
 pg_available_extension_versions- 51.68.
 pg_config- 51.69.
 pg_cursors- 51.70.
 pg_file_settings- 51.71.
 pg_group- 51.72.
 pg_hba_file_rules- 51.73.
 pg_indexes- 51.74.
 pg_locks- 51.75.
 pg_matviews- 51.76.
 pg_policies- 51.77.
 pg_prepared_statements- 51.78.
 pg_prepared_xacts- 51.79.
 pg_publication_tables- 51.80.
 pg_replication_origin_status- 51.81.
 pg_replication_slots- 51.82.
 pg_roles- 51.83.
 pg_rules- 51.84.
 pg_seclabels- 51.85.
 pg_sequences- 51.86.
 pg_settings- 51.87.
 pg_shadow- 51.88.
 pg_stats- 51.89.
 pg_stats_ext- 51.90.
 pg_tables- 51.91.
 pg_timezone_abbrevs- 51.92.
 pg_timezone_names- 51.93.
 pg_user- 51.94.
 pg_user_mappings- 51.95.
 pg_views - 51.2.
 
- 51.1. Overview
 - 52. Frontend/Backend Protocol
 - 52.1. Overview
- 52.2. Message Flow
 - 52.3. SASL Authentication
 - 52.4. Streaming Replication Protocol
 - 52.5. Logical Streaming Replication Protocol
 - 52.6. Message Data Types
 - 52.7. Message Formats
 - 52.8. Error and Notice Message Fields
 - 52.9. Logical Replication Message Formats
 - 52.10. Summary of Changes since Protocol 2.0
  - 52.2. Message Flow
 
- 52.1. Overview
 - 53. PostgreSQL Coding Conventions
 - 54. Native Language Support
 - 55. Writing a Procedural Language Handler
- 56. Writing a Foreign Data Wrapper
  - 57. Writing a Table Sampling Method
 - 58. Writing a Custom Scan Provider
 - 59. Genetic Query Optimizer
 - 60. Table Access Method Interface Definition
- 61. Index Access Method Interface Definition
  - 62. Generic WAL Records
- 63. B-Tree Indexes
  - 64. GiST Indexes
 - 65. SP-GiST Indexes
 - 66. GIN Indexes
 - 67. BRIN Indexes
 - 68. Hash Indexes
 - 69. Database Physical Storage
 - 70. System Catalog Declarations and Initial Contents
 - 71. How the Planner Uses Statistics