Unsupported versions: 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

PostgreSQL 7.3.21 Developer's Guide

The PostgreSQL Global Development Group

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


Table of Contents
1. PostgreSQL Source Code
1.1. Formatting
2. Overview of PostgreSQL Internals
2.1. The Path of a Query
2.2. How Connections are Established
2.3. The Parser Stage
2.3.1. Parser
2.3.2. Transformation Process
2.4. The PostgreSQL Rule System
2.4.1. The Rewrite System
2.5. Planner/Optimizer
2.5.1. Generating Possible Plans
2.5.2. Data Structure of the Plan
2.6. Executor
3. System Catalogs
3.1. Overview
3.2. pg_aggregate
3.3. pg_am
3.4. pg_amop
3.5. pg_amproc
3.6. pg_attrdef
3.7. pg_attribute
3.8. pg_cast
3.9. pg_class
3.10. pg_constraint
3.11. pg_conversion
3.12. pg_database
3.13. pg_depend
3.14. pg_description
3.15. pg_group
3.16. pg_index
3.17. pg_inherits
3.18. pg_language
3.19. pg_largeobject
3.20. pg_listener
3.21. pg_namespace
3.22. pg_opclass
3.23. pg_operator
3.24. pg_proc
3.25. pg_rewrite
3.26. pg_shadow
3.27. pg_statistic
3.28. pg_trigger
3.29. pg_type
4. Frontend/Backend Protocol
4.1. Overview
4.2. Protocol
4.2.1. Start-up
4.2.2. Query
4.2.3. Function Call
4.2.4. Notification Responses
4.2.5. Cancelling Requests in Progress
4.2.6. Termination
4.2.7. SSL Session Encryption
4.3. Message Data Types
4.4. Message Formats
5. gcc Default Optimizations
6. BKI Backend Interface
6.1. BKI File Format
6.2. BKI Commands
6.3. Example
7. Page Files
8. Genetic Query Optimization
8.1. Query Handling as a Complex Optimization Problem
8.2. Genetic Algorithms
8.3. Genetic Query Optimization (GEQO) in PostgreSQL
8.3.1. Future Implementation Tasks for PostgreSQL GEQO
8.4. Further Readings
9. GiST Indexes
10. Native Language Support
10.1. For the Translator
10.1.1. Requirements
10.1.2. Concepts
10.1.3. Creating and maintaining message catalogs
10.1.4. Editing the PO files
10.2. For the Programmer
A. The CVS Repository
A.1. Getting The Source Via Anonymous CVS
A.2. CVS Tree Organization
A.3. Getting The Source Via CVSup
A.3.1. Preparing A CVSup Client System
A.3.2. Running a CVSup Client
A.3.3. Installing CVSup
A.3.4. Installation from Sources
B. Documentation
B.1. DocBook
B.2. Tool Sets
B.2.1. Linux RPM Installation
B.2.2. FreeBSD Installation
B.2.3. Debian Packages
B.2.4. Manual Installation from Source
B.3. Building The Documentation
B.3.1. HTML
B.3.2. Manpages
B.3.3. Hardcopy Generation
B.3.4. Plain Text Files
B.4. Documentation Authoring
B.4.1. Emacs/PSGML
B.4.2. Other Emacs modes
B.5. Style Guide
B.5.1. Reference Pages
List of Examples
2-1. A Simple Select