PostgreSQL Book Proposal

Bruce Momjian

1.
Introduction
2.
Installation

(a)
Getting POSTGRESQL
(b)
Compiling
(c)
Initialization
(d)
Starting the server
(e)
Creating a database
(f)
Issuing database commands
3.
Introduction to SQL

(a)
Why a database?
(b)
Creating tables
(c)
Adding data with INSERT
(d)
Viewing data with SELECT
(e)
Removing data with DELETE
(f)
Modifying data with UPDATE
(g)
Restriction with WHERE
(h)
Sorting data with ORDER BY
(i)
Usage of NULL values
4.
Advanced SQL Commands

(a)
Inserting data from a SELECT
(b)
Aggregates: COUNT, SUM, etc.
(c)
GROUP BY with aggregates
(d)
HAVING with aggregates
(e)
Joining tables
(f)
Using table aliases
(g)
UNION clause
(h)
Subqueries
(i)
Transactions
(j)
Cursors
(k)
Indexing
(l)
Table defaults
(m)
Primary/Foreign keys
(n)
AND/OR usage
(o)
LIKE clause usage
(p)
Temporary tables
(q)
Importing data
5.
POSTGRESQL'S Unique Features

(a)
Object ID'S (OID)
(b)
Multi-version Concurrency Control (MVCC)
(c)
Locking and Deadlocks
(d)
Vacuum
(e)
Views
(f)
Rules
(g)
Sequences
(h)
Triggers
(i)
Large Objects(BLOBS)
(j)
Adding User-defined Functions
(k)
Adding User-defined Operators
(l)
Adding User-defined Types
(m)
Exotic Preinstalled Types
(n)
Arrays
(o)
Inheritance
6.
Interfacing to the POSTGRESQL Database

(a)
C Language API
(b)
Embedded C
(c)
C++
(d)
JAVA
(e)
ODBC
(f)
PERL
(g)
TCL/TK
(h)
PYTHON
(i)
Web access (PHP)
(j)
Server-side programming (PLPGSQL and SPI)
7.
POSTGRESQL Adminstration

(a)
Creating users and databases
(b)
Backup and restore
(c)
Performance tuning
(d)
Troubleshooting
(e)
Customization options
(f)
Setting access permissions
8.
Additional Resources

(a)
Frequently Asked Questions (FAQ'S)
(b)
Mailing list support
(c)
Supplied documentation
(d)
Commercial support
(e)
Modifying the source code