9. Internals
This part contains assorted information that might be of use to PostgreSQL developers.
- 9.1. Overview of PostgreSQL Internals
- 9.2. System Catalogs
- 9.2.1. Overview
- 9.2.2. pg_aggregate
- 9.2.3. pg_am
- 9.2.4. pg_amop
- 9.2.5. pg_amproc
- 9.2.6. pg_attrdef
- 9.2.7. pg_attribute
- 9.2.8. pg_authid
- 9.2.9. pg_auth_members
- 9.2.10. pg_cast
- 9.2.11. pg_class
- 9.2.12. pg_collation
- 9.2.13. pg_constraint
- 9.2.14. pg_conversion
- 9.2.15. pg_database
- 9.2.16. pg_db_role_setting
- 9.2.17. pg_default_acl
- 9.2.18. pg_depend
- 9.2.19. pg_description
- 9.2.20. pg_enum
- 9.2.21. pg_event_trigger
- 9.2.22. pg_extension
- 9.2.23. pg_foreign_data_wrapper
- 9.2.24. pg_foreign_server
- 9.2.25. pg_foreign_table
- 9.2.26. pg_index
- 9.2.27. pg_inherits
- 9.2.28. pg_init_privs
- 9.2.29. pg_language
- 9.2.30. pg_largeobject
- 9.2.31. pg_largeobject_metadata
- 9.2.32. pg_namespace
- 9.2.33. pg_opclass
- 9.2.34. pg_operator
- 9.2.35. pg_opfamily
- 9.2.36. pg_parameter_acl
- 9.2.37. pg_partitioned_table
- 9.2.38. pg_policy
- 9.2.39. pg_proc
- 9.2.40. pg_publication
- 9.2.41. pg_publication_namespace
- 9.2.42. pg_publication_rel
- 9.2.43. pg_range
- 9.2.44. pg_replication_origin
- 9.2.45. pg_rewrite
- 9.2.46. pg_seclabel
- 9.2.47. pg_sequence
- 9.2.48. pg_shdepend
- 9.2.49. pg_shdescription
- 9.2.50. pg_shseclabel
- 9.2.51. pg_statistic
- 9.2.52. pg_statistic_ext
- 9.2.53. pg_statistic_ext_data
- 9.2.54. pg_subscription
- 9.2.55. pg_subscription_rel
- 9.2.56. pg_tablespace
- 9.2.57. pg_transform
- 9.2.58. pg_trigger
- 9.2.59. pg_ts_config
- 9.2.60. pg_ts_config_map
- 9.2.61. pg_ts_dict
- 9.2.62. pg_ts_parser
- 9.2.63. pg_ts_template
- 9.2.64. pg_type
- 9.2.65. pg_user_mapping
- 9.3. System Views
- 9.3.1. Overview
- 9.3.2. pg_available_extensions
- 9.3.3. pg_available_extension_versions
- 9.3.4. pg_backend_memory_contexts
- 9.3.5. pg_config
- 9.3.6. pg_cursors
- 9.3.7. pg_file_settings
- 9.3.8. pg_group
- 9.3.9. pg_hba_file_rules
- 9.3.10. pg_ident_file_mappings
- 9.3.11. pg_indexes
- 9.3.12. pg_locks
- 9.3.13. pg_matviews
- 9.3.14. pg_policies
- 9.3.15. pg_prepared_statements
- 9.3.16. pg_prepared_xacts
- 9.3.17. pg_publication_tables
- 9.3.18. pg_replication_origin_status
- 9.3.19. pg_replication_slots
- 9.3.20. pg_roles
- 9.3.21. pg_rules
- 9.3.22. pg_seclabels
- 9.3.23. pg_sequences
- 9.3.24. pg_settings
- 9.3.25. pg_shadow
- 9.3.26. pg_shmem_allocations
- 9.3.27. pg_stats
- 9.3.28. pg_stats_ext
- 9.3.29. pg_stats_ext_exprs
- 9.3.30. pg_tables
- 9.3.31. pg_timezone_abbrevs
- 9.3.32. pg_timezone_names
- 9.3.33. pg_user
- 9.3.34. pg_user_mappings
- 9.3.35. pg_views
- 9.4. Frontend/Backend Protocol
- 9.4.1. Overview
- 9.4.2. Message Flow
- 9.4.3. SASL Authentication
- 9.4.4. Streaming Replication Protocol
- 9.4.5. Logical Streaming Replication Protocol
- 9.4.6. Message Data Types
- 9.4.7. Message Formats
- 9.4.8. Error and Notice Message Fields
- 9.4.9. Logical Replication Message Formats
- 9.4.10. Summary of Changes since Protocol 2.0
- 9.5. PostgreSQL Coding Conventions
- 9.6. Native Language Support
- 9.7. Writing a Procedural Language Handler
- 9.8. Writing a Foreign Data Wrapper
- 9.8.1. Foreign Data Wrapper Functions
- 9.8.2. Foreign Data Wrapper Callback Routines
- 9.8.2.1. FDW Routines for Scanning Foreign Tables
- 9.8.2.2. FDW Routines for Scanning Foreign Joins
- 9.8.2.3. FDW Routines for Planning Post-Scan/Join Processing
- 9.8.2.4. FDW Routines for Updating Foreign Tables
- 9.8.2.5. FDW Routines for TRUNCATE
- 9.8.2.6. FDW Routines for Row Locking
- 9.8.2.7. FDW Routines for EXPLAIN
- 9.8.2.8. FDW Routines for ANALYZE
- 9.8.2.9. FDW Routines for IMPORT FOREIGN SCHEMA
- 9.8.2.10. FDW Routines for Parallel Execution
- 9.8.2.11. FDW Routines for Asynchronous Execution
- 9.8.2.12. FDW Routines for Reparameterization of Paths
- 9.8.3. Foreign Data Wrapper Helper Functions
- 9.8.4. Foreign Data Wrapper Query Planning
- 9.8.5. Row Locking in Foreign Data Wrappers
- 9.9. Writing a Table Sampling Method
- 9.10. Writing a Custom Scan Provider
- 9.11. Genetic Query Optimizer
- 9.12. Table Access Method Interface Definition
- 9.13. Index Access Method Interface Definition
- 9.14. Generic WAL Records
- 9.15. Custom WAL Resource Managers
- 9.16. B-Tree Indexes
- 9.17. GiST Indexes
- 9.18. SP-GiST Indexes
- 9.19. GIN Indexes
- 9.20. BRIN Indexes
- 9.21. Hash Indexes
- 9.22. Database Physical Storage
- 9.23. System Catalog Declarations and Initial Contents
- 9.24. How the Planner Uses Statistics
- 9.25. Backup Manifest Format