Internals
- Table of Contents
- 44. Overview of PostgreSQL Internals
-
- 44.1. The Path of a Query
- 44.2. How Connections are Established
- 44.3. The Parser Stage
- 44.4. The PostgreSQL Rule System
- 44.5. Planner/Optimizer
- 44.6. Executor
- 45. System Catalogs
-
- 45.1. Overview
- 45.2. pg_aggregate
- 45.3. pg_am
- 45.4. pg_amop
- 45.5. pg_amproc
- 45.6. pg_attrdef
- 45.7. pg_attribute
- 45.8. pg_authid
- 45.9. pg_auth_members
- 45.10. pg_cast
- 45.11. pg_class
- 45.12. pg_constraint
- 45.13. pg_collation
- 45.14. pg_conversion
- 45.15. pg_database
- 45.16. pg_db_role_setting
- 45.17. pg_default_acl
- 45.18. pg_depend
- 45.19. pg_description
- 45.20. pg_enum
- 45.21. pg_extension
- 45.22. pg_foreign_data_wrapper
- 45.23. pg_foreign_server
- 45.24. pg_foreign_table
- 45.25. pg_index
- 45.26. pg_inherits
- 45.27. pg_language
- 45.28. pg_largeobject
- 45.29. pg_largeobject_metadata
- 45.30. pg_namespace
- 45.31. pg_opclass
- 45.32. pg_operator
- 45.33. pg_opfamily
- 45.34. pg_pltemplate
- 45.35. pg_proc
- 45.36. pg_range
- 45.37. pg_rewrite
- 45.38. pg_seclabel
- 45.39. pg_shdepend
- 45.40. pg_shdescription
- 45.41. pg_shseclabel
- 45.42. pg_statistic
- 45.43. pg_tablespace
- 45.44. pg_trigger
- 45.45. pg_ts_config
- 45.46. pg_ts_config_map
- 45.47. pg_ts_dict
- 45.48. pg_ts_parser
- 45.49. pg_ts_template
- 45.50. pg_type
- 45.51. pg_user_mapping
- 45.52. System Views
- 45.53. pg_available_extensions
- 45.54. pg_available_extension_versions
- 45.55. pg_cursors
- 45.56. pg_group
- 45.57. pg_indexes
- 45.58. pg_locks
- 45.59. pg_prepared_statements
- 45.60. pg_prepared_xacts
- 45.61. pg_roles
- 45.62. pg_rules
- 45.63. pg_seclabels
- 45.64. pg_settings
- 45.65. pg_shadow
- 45.66. pg_stats
- 45.67. pg_tables
- 45.68. pg_timezone_abbrevs
- 45.69. pg_timezone_names
- 45.70. pg_user
- 45.71. pg_user_mappings
- 45.72. pg_views
- 46. Frontend/Backend Protocol
-
- 46.1. Overview
- 46.2. Message Flow
- 46.3. Streaming Replication Protocol
- 46.4. Message Data Types
- 46.5. Message Formats
- 46.6. Error and Notice Message Fields
- 46.7. Summary of Changes since Protocol 2.0
- 47. PostgreSQL Coding Conventions
-
- 47.1. Formatting
- 47.2. Reporting Errors Within the Server
- 47.3. Error Message Style Guide
- 48. Native Language Support
-
- 48.1. For the Translator
- 48.2. For the Programmer
- 49. Writing A Procedural Language Handler
- 50. Writing A Foreign Data Wrapper
- 51. Genetic Query Optimizer
- 52. Index Access Method Interface Definition
-
- 52.1. Catalog Entries for Indexes
- 52.2. Index Access Method Functions
- 52.3. Index Scanning
- 52.4. Index Locking Considerations
- 52.5. Index Uniqueness Checks
- 52.6. Index Cost Estimation Functions
- 53. GiST Indexes
-
- 53.1. Introduction
- 53.2. Extensibility
- 53.3. Implementation
- 53.4. Examples
- 54. SP-GiST Indexes
-
- 54.1. Introduction
- 54.2. Extensibility
- 54.3. Implementation
- 54.4. Examples
- 55. GIN Indexes
-
- 55.1. Introduction
- 55.2. Extensibility
- 55.3. Implementation
- 55.4. GIN Tips and Tricks
- 55.5. Limitations
- 55.6. Examples
- 56. Database Physical Storage
-
- 56.1. Database File Layout
- 56.2. TOAST
- 56.3. Free Space Map
- 56.4. Visibility Map
- 56.5. The Initialization Fork
- 56.6. Database Page Layout
- 57. BKI Backend Interface
-
- 57.1. BKI File Format
- 57.2. BKI Commands
- 57.3. Structure of the Bootstrap BKI File
- 57.4. Example
- 58. How the Planner Uses Statistics
-
- 58.1. Row Estimation Examples