PostgreSQL 8.1beta2 Documentation

The PostgreSQL Global Development Group


Table of Contents
Preface
What is PostgreSQL?
A Brief History of PostgreSQL
Conventions
Further Information
Bug Reporting Guidelines
I. Tutorial
1. Getting Started
2. The SQL Language
3. Advanced Features
II. The SQL Language
4. SQL Syntax
5. Data Definition
6. Data Manipulation
7. Queries
8. Data Types
9. Functions and Operators
10. Type Conversion
11. Indexes
12. Concurrency Control
13. Performance Tips
III. Server Administration
14. Installation Instructions
15. Client-Only Installation on Windows
16. Server Run-time Environment
17. Run-time Configuration
18. Database Roles and Privileges
19. Managing Databases
20. Client Authentication
21. Localization
22. Routine Database Maintenance Tasks
23. Backup and Restore
24. Monitoring Database Activity
25. Monitoring Disk Usage
26. Write-Ahead Logging (WAL)
27. Regression Tests
IV. Client Interfaces
28. libpq - C Library
29. Large Objects
30. ECPG - Embedded SQL in C
31. The Information Schema
V. Server Programming
32. Extending SQL
33. Triggers
34. The Rule System
35. Procedural Languages
36. PL/pgSQL - SQL Procedural Language
37. PL/Tcl - Tcl Procedural Language
38. PL/Perl - Perl Procedural Language
39. PL/Python - Python Procedural Language
40. Server Programming Interface
VI. Reference
I. SQL Commands
II. PostgreSQL Client Applications
III. PostgreSQL Server Applications
VII. Internals
41. Overview of PostgreSQL Internals
42. System Catalogs
43. Frontend/Backend Protocol
44. PostgreSQL Coding Conventions
45. Native Language Support
46. Writing A Procedural Language Handler
47. Genetic Query Optimizer
48. Index Access Method Interface Definition
49. GiST Indexes
50. Database Physical Storage
51. BKI Backend Interface
52. How the Planner Uses Statistics
VIII. Appendixes
A. PostgreSQL Error Codes
B. Date/Time Support
C. SQL Key Words
D. SQL Conformance
E. Release Notes
F. The CVS Repository
G. Documentation
H. External Projects
Bibliography
Index
List of Tables
4-1. Operator Precedence (decreasing)
8-1. Data Types
8-2. Numeric Types
8-3. Monetary Types
8-4. Character Types
8-5. Special Character Types
8-6. Binary Data Types
8-7. bytea Literal Escaped Octets
8-8. bytea Output Escaped Octets
8-9. Date/Time Types
8-10. Date Input
8-11. Time Input
8-12. Time Zone Input
8-13. Special Date/Time Inputs
8-14. Date/Time Output Styles
8-15. Date Order Conventions
8-16. Geometric Types
8-17. Network Address Types
8-18. cidr Type Input Examples
8-19. Object Identifier Types
8-20. Pseudo-Types
9-1. Comparison Operators
9-2. Mathematical Operators
9-3. Mathematical Functions
9-4. Trigonometric Functions
9-5. SQL String Functions and Operators
9-6. Other String Functions
9-7. Built-in Conversions
9-8. SQL Binary String Functions and Operators
9-9. Other Binary String Functions
9-10. Bit String Operators
9-11. Regular Expression Match Operators
9-12. Regular Expression Atoms
9-13. Regular Expression Quantifiers
9-14. Regular Expression Constraints
9-15. Regular Expression Character-Entry Escapes
9-16. Regular Expression Class-Shorthand Escapes
9-17. Regular Expression Constraint Escapes
9-18. Regular Expression Back References
9-19. ARE Embedded-Option Letters
9-20. Formatting Functions
9-21. Template Patterns for Date/Time Formatting
9-22. Template Pattern Modifiers for Date/Time Formatting
9-23. Template Patterns for Numeric Formatting
9-24. to_char Examples
9-25. Date/Time Operators
9-26. Date/Time Functions
9-27. AT TIME ZONE Variants
9-28. Geometric Operators
9-29. Geometric Functions
9-30. Geometric Type Conversion Functions
9-31. cidr and inet Operators
9-32. cidr and inet Functions
9-33. macaddr Functions
9-34. Sequence Functions
9-35. array Operators
9-36. array Functions
9-37. Aggregate Functions
9-38. Series Generating Functions
9-39. Session Information Functions
9-40. Access Privilege Inquiry Functions
9-41. Schema Visibility Inquiry Functions
9-42. System Catalog Information Functions
9-43. Comment Information Functions
9-44. Configuration Settings Functions
9-45. Server Signalling Functions
9-46. Backup Control Functions
9-47. Database Object Size Functions
9-48. Generic File Access Functions
12-1. SQL Transaction Isolation Levels
16-1. System V IPC parameters
16-2. Configuration parameters affecting PostgreSQL's shared memory usage
17-1. Short option key
21-1. Server Character Sets
21-2. Client/Server Character Set Conversions
24-1. Standard Statistics Views
24-2. Statistics Access Functions
31-1. information_schema_catalog_name Columns
31-2. applicable_roles Columns
31-3. check_constraints Columns
31-4. column_domain_usage Columns
31-5. column_privileges Columns
31-6. column_udt_usage Columns
31-7. columns Columns
31-8. constraint_column_usage Columns
31-9. constraint_table_usage Columns
31-10. data_type_privileges Columns
31-11. domain_constraints Columns
31-12. domain_udt_usage Columns
31-13. domains Columns
31-14. element_types Columns
31-15. enabled_roles Columns
31-16. key_column_usage Columns
31-17. parameters Columns
31-18. referential_constraints Columns
31-19. role_column_grants Columns
31-20. role_routine_grants Columns
31-21. role_table_grants Columns
31-22. role_usage_grants Columns
31-23. routine_privileges Columns
31-24. routines Columns
31-25. schemata Columns
31-26. sql_features Columns
31-27. sql_implementation_info Columns
31-28. sql_languages Columns
31-29. sql_packages Columns
31-30. sql_sizing Columns
31-31. sql_sizing_profiles Columns
31-32. table_constraints Columns
31-33. table_privileges Columns
31-34. tables Columns
31-35. triggers Columns
31-36. usage_privileges Columns
31-37. view_column_usage Columns
31-38. view_table_usage Columns
31-39. views Columns
32-1. Equivalent C Types for Built-In SQL Types
32-2. B-tree Strategies
32-3. Hash Strategies
32-4. R-tree Strategies
32-5. B-tree Support Functions
32-6. Hash Support Functions
32-7. R-tree Support Functions
32-8. GiST Support Functions
42-1. System Catalogs
42-2. pg_aggregate Columns
42-3. pg_am Columns
42-4. pg_amop Columns
42-5. pg_amproc Columns
42-6. pg_attrdef Columns
42-7. pg_attribute Columns
42-8. pg_authid Columns
42-9. pg_auth_members Columns
42-10. pg_autovacuum Columns
42-11. pg_cast Columns
42-12. pg_class Columns
42-13. pg_constraint Columns
42-14. pg_conversion Columns
42-15. pg_database Columns
42-16. pg_depend Columns
42-17. pg_description Columns
42-18. pg_index Columns
42-19. pg_inherits Columns
42-20. pg_language Columns
42-21. pg_largeobject Columns
42-22. pg_listener Columns
42-23. pg_namespace Columns
42-24. pg_opclass Columns
42-25. pg_operator Columns
42-26. pg_pltemplate Columns
42-27. pg_proc Columns
42-28. pg_rewrite Columns
42-29. pg_shdepend Columns
42-30. pg_statistic Columns
42-31. pg_tablespace Columns
42-32. pg_trigger Columns
42-33. pg_type Columns
42-34. System Views
42-35. pg_group Columns
42-36. pg_indexes Columns
42-37. pg_locks Columns
42-38. pg_prepared_xacts Columns
42-39. pg_roles Columns
42-40. pg_rules Columns
42-41. pg_settings Columns
42-42. pg_shadow Columns
42-43. pg_stats Columns
42-44. pg_tables Columns
42-45. pg_user Columns
42-46. pg_views Columns
50-1. Contents of PGDATA
50-2. Overall Page Layout
50-3. PageHeaderData Layout
50-4. HeapTupleHeaderData Layout
A-1. PostgreSQL Error Codes
B-1. Month Names
B-2. Day of the Week Names
B-3. Date/Time Field Modifiers
B-4. Time Zone Abbreviations for Input
B-5. Australian Time Zone Abbreviations for Input
B-6. Time Zone Names for Setting timezone
C-1. SQL Key Words
List of Figures
47-1. Structured Diagram of a Genetic Algorithm
List of Examples
8-1. Using the character types
8-2. Using the boolean type
8-3. Using the bit string types
10-1. Exponentiation Operator Type Resolution
10-2. String Concatenation Operator Type Resolution
10-3. Absolute-Value and Negation Operator Type Resolution
10-4. Rounding Function Argument Type Resolution
10-5. Substring Function Type Resolution
10-6. character Storage Type Conversion
10-7. Type Resolution with Underspecified Types in a Union
10-8. Type Resolution in a Simple Union
10-9. Type Resolution in a Transposed Union
11-1. Setting up a Partial Index to Exclude Common Values
11-2. Setting up a Partial Index to Exclude Uninteresting Values
11-3. Setting up a Partial Unique Index
20-1. Example pg_hba.conf entries
20-2. An example pg_ident.conf file
28-1. libpq Example Program 1
28-2. libpq Example Program 2
28-3. libpq Example Program 3
29-1. Large Objects with libpq Example Program
35-1. Manual Installation of PL/pgSQL
36-1. Exceptions with UPDATE/INSERT
36-2. A PL/pgSQL Trigger Procedure
36-3. A PL/pgSQL Trigger Procedure For Auditing
36-4. A PL/pgSQL Trigger Procedure For Maintaining A Summary Table
36-5. Porting a Simple Function from PL/SQL to PL/pgSQL
36-6. Porting a Function that Creates Another Function from PL/SQL to PL/pgSQL
36-7. Porting a Procedure With String Manipulation and OUT Parameters from PL/SQL to PL/pgSQL
36-8. Porting a Procedure from PL/SQL to PL/pgSQL