PostgreSQL 7.1.2 Programmer's Guide
The PostgreSQL Global Development Group
Copyright
© 1996-2001 by PostgreSQL Global Development Group
Table of Contents
Organization
I.
Client Interfaces
1.
libpq - C Library
1.1.
Database Connection Functions
1.2.
Query Execution Functions
1.3.
Asynchronous Query Processing
1.4.
Fast Path
1.5.
Asynchronous Notification
1.6.
Functions Associated with the COPY Command
1.7.
libpq
Tracing Functions
1.8.
libpq
Control Functions
1.9.
Environment Variables
1.10.
Threading Behavior
1.11.
Example Programs
2.
Large Objects
2.1.
Historical Note
2.2.
Implementation Features
2.3.
Interfaces
2.4.
Built in registered functions
2.5.
Accessing Large Objects from LIBPQ
2.6.
Sample Program
3.
libpq++ - C++ Binding Library
3.1.
Control and Initialization
3.2.
libpq++ Classes
3.3.
Database Connection Functions
3.4.
Query Execution Functions
3.5.
Asynchronous Notification
3.6.
Functions Associated with the COPY Command
4.
pgtcl - TCL Binding Library
4.1.
Commands
4.2.
Examples
4.3.
pgtcl Command Reference Information
5.
libpgeasy - Simplified C Library
6.
ecpg
- Embedded
SQL
in
C
6.1.
Why Embedded
SQL
?
6.2.
The Concept
6.3.
How To Use
ecpg
6.4.
Limitations
6.5.
Porting From Other
RDBMS
Packages
6.6.
For the Developer
7.
ODBC Interface
7.1.
Background
7.2.
Installation
7.3.
Configuration Files
7.4.
Windows
Applications
7.5.
ApplixWare
8.
JDBC
Interface
8.1.
Setting up the
JDBC
Driver
8.2.
Using the Driver
8.3.
Issuing a Query and Processing the Result
8.4.
Performing Updates
8.5.
Using Large Objects
8.6.
PostgreSQL
Extensions to the
JDBC
API
8.7.
Using the driver in a multi-threaded or a servlet environment
8.8.
Further Reading
9.
PyGreSQL
-
Python
Interface
9.1.
The
pg
Module
9.2.
pg
Module Functions
9.3.
Connection object:
pgobject
9.4.
Database wrapper class:
DB
9.5.
Query result object:
pgqueryobject
9.6.
Large Object:
pglarge
9.7.
DB-API
Interface
10.
Lisp Programming Interface
II.
Server Programming
11.
Architecture
11.1.
Postgres
Architectural Concepts
12.
Extending
SQL
: An Overview
12.1.
How Extensibility Works
12.2.
The
Postgres
Type System
12.3.
About the
Postgres
System Catalogs
13.
Extending
SQL
: Functions
13.1.
Query Language (
SQL
) Functions
13.2.
Procedural Language Functions
13.3.
Internal Functions
13.4.
Compiled (C) Language Functions
13.5.
Function Overloading
14.
Extending
SQL
: Types
14.1.
User-Defined Types
15.
Extending
SQL
: Operators
15.1.
Operator Optimization Information
16.
Extending
SQL
: Aggregates
17.
The
Postgres
Rule System
17.1.
What is a Querytree?
17.2.
Views and the Rule System
17.3.
Rules on INSERT, UPDATE and DELETE
17.4.
Rules and Permissions
17.5.
Rules versus Triggers
18.
Interfacing Extensions To Indices
19.
Index Cost Estimation Functions
20.
GiST Indices
21.
Triggers
21.1.
Trigger Creation
21.2.
Interaction with the Trigger Manager
21.3.
Visibility of Data Changes
21.4.
Examples
22.
Server Programming Interface
22.1.
Interface Functions
22.2.
Interface Support Functions
22.3.
Memory Management
22.4.
Visibility of Data Changes
22.5.
Examples
III.
Procedural Languages
23.
Procedural Languages
23.1.
Installing Procedural Languages
24.
PL/pgSQL -
SQL
Procedural Language
24.1.
Overview
24.2.
Description
24.3.
Trigger Procedures
24.4.
Examples
24.5.
Porting from Oracle PL/SQL
25.
PL/Tcl - TCL Procedural Language
25.1.
Overview
25.2.
Description
26.
PL/Perl - Perl Procedural Language
26.1.
Building and Installing
26.2.
Using PL/Perl
List of Tables
4-1.
pgtcl
Commands
12-1.
Postgres System Catalogs
13-1.
Equivalent C Types for Built-In
Postgres
Types
18-1.
Index Schema
18-2.
B-tree Strategies
24-1.
Single Quotes Escaping Chart
List of Figures
11-1.
How a connection is established
12-1.
The major
Postgres
system catalogs
List of Examples
1-1.
libpq Example Program 1
1-2.
libpq Example Program 2
1-3.
libpq Example Program 3
8-1.
Processing a Simple Query in
JDCB
8-2.
Using the
JDBC
Large Object Interface
24-1.
A PL/pgSQL Trigger Procedure Example
24-2.
A Simple PL/pgSQL Function to Increment an Integer
24-3.
A Simple PL/pgSQL Function to Concatenate Text
24-4.
A PL/pgSQL Function on Composite Type
24-5.
A Simple Function
24-6.
A Function that Creates Another Function
24-7.
A Procedure with a lot of String Manipulation and OUT Parameters
Prev
Home
Next
Timing Results
Organization