PostgreSQL 7.4beta2 Documentation

The PostgreSQL Global Development Group


Table of Contents
Preface
1. What is PostgreSQL?
2. A Brief History of PostgreSQL
3. Terminology and Notation
4. 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. Installation on Windows
16. Server Run-time Environment
17. Database Users and Privileges
18. Managing Databases
19. Client Authentication
20. Localization
21. Routine Database Maintenance Tasks
22. Backup and Restore
23. Monitoring Database Activity
24. Monitoring Disk Usage
25. Write-Ahead Logging (WAL)
26. Regression Tests
IV. Client Interfaces
27. libpq - C Library
28. Large Objects
29. pgtcl - Tcl Binding Library
30. ECPG - Embedded SQL in C
31. JDBC Interface
32. PyGreSQL - Python Interface
33. The Information Schema
V. Server Programming
34. Extending SQL
35. Index Cost Estimation Functions
36. The Rule System
37. Triggers
38. Server Programming Interface
39. Procedural Languages
40. PL/pgSQL - SQL Procedural Language
41. PL/Tcl - Tcl Procedural Language
42. PL/Perl - Perl Procedural Language
43. PL/Python - Python Procedural Language
VI. Reference
I. SQL Commands
II. PostgreSQL Client Applications
III. PostgreSQL Server Applications
VII. Internals
44. Overview of PostgreSQL Internals
45. System Catalogs
46. Frontend/Backend Protocol
47. Page Files
48. Genetic Query Optimization
49. GiST Indexes
50. BKI Backend Interface
51. PostgreSQL Coding Conventions
52. gcc Default Optimizations
53. Native Language Support
VIII. Appendixes
A. Date/Time Support
B. SQL Key Words
C. SQL Conformance
D. Release Notes
E. The CVS Repository
F. Documentation
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. Bit String Bitwise Operators
9-4. Mathematical Functions
9-5. Trigonometric Functions
9-6. SQL String Functions and Operators
9-7. Other String Functions
9-8. Built-in Conversions
9-9. SQL Binary String Functions and Operators
9-10. Other Binary String Functions
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. Session Information Functions
9-36. Configuration Settings Functions
9-37. Access Privilege Inquiry Functions
9-38. Schema Visibility Inquiry Functions
9-39. System Catalog Information Functions
9-40. Comment Information Functions
9-41. array Operators
9-42. array Functions
9-43. Aggregate Functions
12-1. SQL Transaction Isolation Levels
13-1. pg_stats Columns
16-1. pg_settings Columns
16-2. Short option key
16-3. System V IPC parameters
20-1. Server Character Sets
20-2. Client/Server Character Set Conversions
23-1. Standard Statistics Views
23-2. Statistics Access Functions
23-3. pg_locks Columns
29-1. pgtcl Commands
31-1. ConnectionPoolDataSource Implementations
31-2. ConnectionPoolDataSource Configuration Properties
31-3. DataSource Implementations
31-4. DataSource Configuration Properties
31-5. Additional Pooling DataSource Configuration Properties
33-1. information_schema_catalog_name Columns
33-2. applicable_roles Columns
33-3. check_constraints Columns
33-4. column_domain_usage Columns
33-5. column_privileges Columns
33-6. column_udt_usage Columns
33-7. columns Columns
33-8. constraint_column_usage Columns
33-9. constraint_table_usage Columns
33-10. domain_constraints Columns
33-11. domain_constraints Columns
33-12. domain_udt_usage Columns
33-13. domains Columns
33-14. element_types Columns
33-15. enabled_roles Columns
33-16. key_column_usage Columns
33-17. parameters Columns
33-18. referential_constraints Columns
33-19. role_column_grants Columns
33-20. role_routine_grants Columns
33-21. role_table_grants Columns
33-22. role_usage_grants Columns
33-23. routine_privileges Columns
33-24. routines Columns
33-25. schemata Columns
33-26. sql_features Columns
33-27. sql_implementation_info Columns
33-28. sql_languages Columns
33-29. sql_packages Columns
33-30. sql_sizing Columns
33-31. sql_sizing_profiles Columns
33-32. table_constraints Columns
33-33. table_privileges Columns
33-34. tables Columns
33-35. triggers Columns
33-36. usage_privileges Columns
33-37. view_column_usage Columns
33-38. view_table_usage Columns
33-39. views Columns
34-1. Equivalent C Types for Built-In SQL Types
34-2. B-tree Strategies
34-3. Hash Strategies
34-4. R-tree Strategies
34-5. B-tree Support Functions
34-6. Hash Support Functions
34-7. R-tree Support Functions
34-8. GiST Support Functions
45-1. System Catalogs
45-2. pg_aggregate Columns
45-3. pg_am Columns
45-4. pg_amop Columns
45-5. pg_amproc Columns
45-6. pg_attrdef Columns
45-7. pg_attribute Columns
45-8. pg_cast Columns
45-9. pg_class Columns
45-10. pg_constraint Columns
45-11. pg_conversion Columns
45-12. pg_database Columns
45-13. pg_depend Columns
45-14. pg_description Columns
45-15. pg_group Columns
45-16. pg_index Columns
45-17. pg_inherits Columns
45-18. pg_language Columns
45-19. pg_largeobject Columns
45-20. pg_listener Columns
45-21. pg_namespace Columns
45-22. pg_opclass Columns
45-23. pg_operator Columns
45-24. pg_proc Columns
45-25. pg_rewrite Columns
45-26. pg_shadow Columns
45-27. pg_statistic Columns
45-28. pg_trigger Columns
45-29. pg_type Columns
47-1. Sample Page Layout
47-2. PageHeaderData Layout
47-3. HeapTupleHeaderData Layout
A-1. Month Abbreviations
A-2. Day of the Week Abbreviations
A-3. Date/Time Field Modifiers
A-4. Time Zone Abbreviations
A-5. Australian Time Zone Abbreviations
B-1. SQL Key Words
List of Figures
48-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 Factorial 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
19-1. An example pg_hba.conf file
19-2. An example pg_ident.conf file
27-1. libpq Example Program 1
27-2. libpq Example Program 2
27-3. libpq Example Program 3
28-1. Large Objects with libpq Example Program
29-1. pgtcl Example Program
31-1. Processing a Simple Query in JDBC
31-2. Setting fetch size to turn cursors on and off.
31-3. Deleting Rows in JDBC
31-4. Calling a built in stored function
31-5. Gettig refcursor values from a function
31-6. Treating refcursor as a distinct type
31-7. Dropping a Table in JDBC
31-8. Processing Binary Data in JDBC
31-9. DataSource Code Example
31-10. DataSource JNDI Code Example
39-1. Manual Installation of PL/pgSQL
40-1. A PL/pgSQL Trigger Procedure
40-2. Porting a Simple Function from PL/SQL to PL/pgSQL
40-3. Porting a Function that Creates Another Function from PL/SQL to PL/pgSQL
40-4. Porting a Procedure With String Manipulation and OUT Parameters from PL/SQL to PL/pgSQL
40-5. Porting a Procedure from PL/SQL to PL/pgSQL