Internals

PostgreSQL 9.0.17 Documentation
Prev | Home |  | Next

# VII. Internals

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

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_conversion`
  45.14. `pg_database`
  45.15. `pg_db_role_setting`
  45.16. `pg_default_acl`
  45.17. `pg_depend`
  45.18. `pg_description`
  45.19. `pg_enum`
  45.20. `pg_foreign_data_wrapper`
  45.21. `pg_foreign_server`
  45.22. `pg_index`
  45.23. `pg_inherits`
  45.24. `pg_language`
  45.25. `pg_largeobject`
  45.26. `pg_largeobject_metadata`
  45.27. `pg_namespace`
  45.28. `pg_opclass`
  45.29. `pg_operator`
  45.30. `pg_opfamily`
  45.31. `pg_pltemplate`
  45.32. `pg_proc`
  45.33. `pg_rewrite`
  45.34. `pg_shdepend`
  45.35. `pg_shdescription`
  45.36. `pg_statistic`
  45.37. `pg_tablespace`
  45.38. `pg_trigger`
  45.39. `pg_ts_config`
  45.40. `pg_ts_config_map`
  45.41. `pg_ts_dict`
  45.42. `pg_ts_parser`
  45.43. `pg_ts_template`
  45.44. `pg_type`
  45.45. `pg_user_mapping`
  45.46. System Views
  45.47. `pg_cursors`
  45.48. `pg_group`
  45.49. `pg_indexes`
  45.50. `pg_locks`
  45.51. `pg_prepared_statements`
  45.52. `pg_prepared_xacts`
  45.53. `pg_roles`
  45.54. `pg_rules`
  45.55. `pg_settings`
  45.56. `pg_shadow`
  45.57. `pg_stats`
  45.58. `pg_tables`
  45.59. `pg_timezone_abbrevs`
  45.60. `pg_timezone_names`
  45.61. `pg_user`
  45.62. `pg_user_mappings`
  45.63. `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. Genetic Query Optimizer
  50.1. Query Handling as a Complex Optimization Problem
  50.2. Genetic Algorithms
  50.3. Genetic Query Optimization (GEQO) in PostgreSQL
  50.4. Further Reading
51. Index Access Method Interface Definition
  51.1. Catalog Entries for Indexes
  51.2. Index Access Method Functions
  51.3. Index Scanning
  51.4. Index Locking Considerations
  51.5. Index Uniqueness Checks
  51.6. Index Cost Estimation Functions
52. GiST Indexes
  52.1. Introduction
  52.2. Extensibility
  52.3. Implementation
  52.4. Examples
  52.5. Crash Recovery
53. GIN Indexes
  53.1. Introduction
  53.2. Extensibility
  53.3. Implementation
  53.4. GIN tips and tricks
  53.5. Limitations
  53.6. Examples
54. Database Physical Storage
  54.1. Database File Layout
  54.2. TOAST
  54.3. Free Space Map
  54.4. Visibility Map
  54.5. Database Page Layout
55. BKI Backend Interface
  55.1. BKI File Format
  55.2. BKI Commands
  55.3. Structure of the Bootstrap BKI File
  55.4. Example
56. How the Planner Uses Statistics
  56.1. Row Estimation Examples

Prev | Home | Next
postmaster |  | Overview of PostgreSQL Internals