PostgreSQL 8.1beta2 Documentation
The PostgreSQL Global Development Group
Copyright
© 1996-2005 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
Next
Preface