PostgreSQL 7.2.1 Developer's Guide

The PostgreSQL Global Development Group


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_attrdef
3.4. pg_attribute
3.5. pg_class
3.6. pg_database
3.7. pg_description
3.8. pg_group
3.9. pg_index
3.10. pg_inherits
3.11. pg_language
3.12. pg_largeobject
3.13. pg_listener
3.14. pg_operator
3.15. pg_proc
3.16. pg_relcheck
3.17. pg_rewrite
3.18. pg_shadow
3.19. pg_statistic
3.20. pg_trigger
3.21. 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. Native Language Support
9.1. For the Translator
9.1.1. Requirements
9.1.2. Concepts
9.1.3. Creating and maintaining message catalogs
9.1.4. Editing the PO files
9.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. Toolsets
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
List of Tables
3-1. System Catalogs
3-2. pg_aggregate Columns
3-3. pg_attrdef Columns
3-4. pg_attribute Columns
3-5. pg_class Columns
3-6. pg_database Columns
3-7. pg_description Columns
3-8. pg_group Columns
3-9. pg_index Columns
3-10. pg_inherits Columns
3-11. pg_language Columns
3-12. pg_largeobject Columns
3-13. pg_listener Columns
3-14. pg_operator Columns
3-15. pg_proc Columns
3-16. pg_relcheck Columns
3-17. pg_rewrite Columns
3-18. pg_shadow Columns
3-19. pg_statistic Columns
3-20. pg_trigger Columns
3-21. pg_type Columns
7-1. Sample Page Layout
B-1. Indent Formatting for Table of Contents
List of Figures
8-1. Structured Diagram of a Genetic Algorithm
List of Examples
2-1. A Simple Select