Here is my proposal for an outline for a PostgreSQL book.  Many of us
have been asked by publishers about writing a book.  Here is what I
think would be a good outline for the book.

I am interested in whether this is a good outline for a PostgreSQL book,
how our existing documentation matches this outline, where our existing
documentation can be managed into a published book, etc.

Any comments would be welcome.

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026
...................................................................

The attached document is in both web page and text formats.
View the one which looks best.  Also in PDF format.




PostgreSQL Book Proposal











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






                          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
Tue, 12 Oct 1999 13:09:05 -0400 (EDT)
Bruce Momjian <maillist@candle.pha.pa.us>
PostgreSQL book proposal