PostgreSQL 9.1.9 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_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_rewrite`
  45.37. `pg_seclabel`
  45.38. `pg_shdepend`
  45.39. `pg_shdescription`
  45.40. `pg_statistic`
  45.41. `pg_tablespace`
  45.42. `pg_trigger`
  45.43. `pg_ts_config`
  45.44. `pg_ts_config_map`
  45.45. `pg_ts_dict`
  45.46. `pg_ts_parser`
  45.47. `pg_ts_template`
  45.48. `pg_type`
  45.49. `pg_user_mapping`
  45.50. System Views
  45.51. `pg_available_extensions`
  45.52. `pg_available_extension_versions`
  45.53. `pg_cursors`
  45.54. `pg_group`
  45.55. `pg_indexes`
  45.56. `pg_locks`
  45.57. `pg_prepared_statements`
  45.58. `pg_prepared_xacts`
  45.59. `pg_roles`
  45.60. `pg_rules`
  45.61. `pg_seclabels`
  45.62. `pg_settings`
  45.63. `pg_shadow`
  45.64. `pg_stats`
  45.65. `pg_tables`
  45.66. `pg_timezone_abbrevs`
  45.67. `pg_timezone_names`
  45.68. `pg_user`
  45.69. `pg_user_mappings`
  45.70. `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
  50.1. Foreign Data Wrapper Functions
  50.2. Foreign Data Wrapper Callback Routines
51. Genetic Query Optimizer
  51.1. Query Handling as a Complex Optimization Problem
  51.2. Genetic Algorithms
  51.3. Genetic Query Optimization (GEQO) in PostgreSQL
  51.4. Further Reading
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. GIN Indexes
  54.1. Introduction
  54.2. Extensibility
  54.3. Implementation
  54.4. GIN Tips and Tricks
  54.5. Limitations
  54.6. Examples
55. Database Physical Storage
  55.1. Database File Layout
  55.2. TOAST
  55.3. Free Space Map
  55.4. Visibility Map
  55.5. The Initialization Fork
  55.6. Database Page Layout
56. BKI Backend Interface
  56.1. BKI File Format
  56.2. BKI Commands
  56.3. Structure of the Bootstrap BKI File
  56.4. Example
57. How the Planner Uses Statistics
  57.1. Row Estimation Examples

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