VII. Internals

This part contains assorted information that can be of use to PostgreSQL developers.

Table of Contents
43. Overview of PostgreSQL Internals
43.1. The Path of a Query
43.2. How Connections are Established
43.3. The Parser Stage
43.4. The PostgreSQL Rule System
43.5. Planner/Optimizer
43.6. Executor
44. System Catalogs
44.1. Overview
44.2. pg_aggregate
44.3. pg_am
44.4. pg_amop
44.5. pg_amproc
44.6. pg_attrdef
44.7. pg_attribute
44.8. pg_cast
44.9. pg_class
44.10. pg_constraint
44.11. pg_conversion
44.12. pg_database
44.13. pg_depend
44.14. pg_description
44.15. pg_group
44.16. pg_index
44.17. pg_inherits
44.18. pg_language
44.19. pg_largeobject
44.20. pg_listener
44.21. pg_namespace
44.22. pg_opclass
44.23. pg_operator
44.24. pg_proc
44.25. pg_rewrite
44.26. pg_shadow
44.27. pg_statistic
44.28. pg_trigger
44.29. pg_type
44.30. System Views
44.31. pg_indexes
44.32. pg_locks
44.33. pg_rules
44.34. pg_settings
44.35. pg_stats
44.36. pg_tables
44.37. pg_user
44.38. pg_views
45. Frontend/Backend Protocol
45.1. Overview
45.2. Message Flow
45.3. Message Data Types
45.4. Message Formats
45.5. Error and Notice Message Fields
45.6. Summary of Changes since Protocol 2.0
46. Page Files
47. Genetic Query Optimizer
47.1. Query Handling as a Complex Optimization Problem
47.2. Genetic Algorithms
47.3. Genetic Query Optimization (GEQO) in PostgreSQL
47.4. Further Readings
48. GiST Indexes
49. BKI Backend Interface
49.1. BKI File Format
49.2. BKI Commands
49.3. Example
50. PostgreSQL Coding Conventions
50.1. Formatting
50.2. Reporting Errors Within the Server
50.3. Error Message Style Guide
51. gcc Default Optimizations
52. Native Language Support
52.1. For the Translator
52.2. For the Programmer