PostgreSQL Book Proposal
Bruce Momjian
Preface
- 1.
- Introduction
- (a)
- History of POSTGRESQL
- i.
- UNIVERSITY OF CALIFORNIA AT BERKELEY
- ii.
- MICHAEL STONEBRAKER
- iii.
- JOLLY CHEN and ANDREW YU
- iv.
- POSTGRESQL GLOBAL DEVELOPMENT TEAM
- (b)
- Open source software
- i.
- development methods
- ii.
- peer review
- iii.
- release process
- iv.
- problem reporting
- v.
- support
- (c)
- When to use a database
- i.
- large volume
- ii.
- rapid retrieval
- iii.
- frequent modification
- iv.
- reporting
- 2.
- Issuing database commands
- (a)
- Starting a database session
- i.
- choosing an access method
- ii.
- choosing a database
- iii.
- starting a session
- (b)
- Controlling a session
- i.
- typing in the query buffer
- ii.
- displaying the query buffer
- iii.
- editing the query buffer
- iv.
- erasing the query buffer
- (c)
- Sendinging queries
- (d)
- Getting help
- (e)
- Requesting server information
- 3.
- Introduction to SQL
- (a)
- Relational Databases
- i.
- tables, rows, and columns
- ii.
- column types
- iii.
- column selection
- iv.
- row restriction
- (b)
- Creating tables
- i.
- naming columns
- ii.
- column types
- (c)
- Adding data with INSERT
- i.
- target columns
- ii.
- column types
- iii.
- missing values
- (d)
- Viewing data with SELECT
- i.
- target columns
- ii.
- FROM clause
- (e)
- Removing data with DELETE
- (f)
- Modifying data with UPDATE
- (g)
- Restricting with WHERE
- (h)
- Sorting data with ORDER BY
- (i)
- Using NULL values
- 4.
- Advanced SQL Commands
- (a)
- Inserting data using SELECT
- (b)
- Aggregates: COUNT, SUM, ...
- (c)
- GROUP BY with aggregates
- (d)
- HAVING with aggregates
- (e)
- Joining tables
- (f)
- Using table aliases
- (g)
- UNION clause
- (h)
- UPDATE with FROM
- (i)
- Subqueries
- i.
- returning a single row
- ii.
- returning multiple rows
- iii.
- correlated Subqueries
- (j)
- Transactions
- i.
- BEGIN...END
- ii.
- ABORT transaction
- (k)
- Cursors
- i.
- DECLARE
- ii.
- FETCH
- iii.
- CLOSE
- (l)
- Indexing
- i.
- usage
- ii.
- types
- iii.
- definition
- iv.
- functional indexes
- (m)
- Column defaults
- (n)
- Referential integrity
- i.
- primary keys
- ii.
- foreign keys
- (o)
- AND/OR usage
- (p)
- Pattern matching
- i.
- LIKE clause
- ii.
- regular expressions
- (q)
- Temporary tables
- (r)
- Importing data
- i.
- COPY
- ii.
- DELIMITERS
- iii.
- BINARY
- iv.
- frontend COPY
- 5.
- POSTGRESQL'S Unique Features
- (a)
- Object ID'S (OID'S)
- i.
- unique row assignment
- ii.
- join usage
- (b)
- Multi-Version Concurrency Control
- i.
- write locks
- ii.
- read locks
- iii.
- concurrency
- iv.
- solutions
- (c)
- Locking and deadlocks
- i.
- need for locking
- ii.
- deadlocks
- (d)
- Vacuum
- i.
- scheduling
- ii.
- ANALYZE
- (e)
- Views
- i.
- creation
- ii.
- limitations
- (f)
- Rules
- i.
- creation
- ii.
- limitations
- (g)
- Sequences
- i.
- purpose
- ii.
- creation
- iii.
- management
- (h)
- Triggers
- i.
- purpose
- ii.
- creation
- (i)
- Large objects(BLOBS)
- i.
- applications
- ii.
- creation
- iii.
- management
- (j)
- Adding user-defined functions
- i.
- purpose
- ii.
- creation
- iii.
- examples
- (k)
- Adding user-defined operators
- i.
- arithmetic processing
- ii.
- creation
- (l)
- Adding user-defined types
- i.
- purpose
- ii.
- creation
- iii.
- indexing
- (m)
- Exotic pre-installed types
- i.
- date/time
- ii.
- geometric
- iii.
- character string
- iv.
- internet
- v.
- internal
- (n)
- Arrays
- i.
- creation
- ii.
- access
- (o)
- Inheritance
- i.
- purpose
- ii.
- creation
- iii.
- examples
- 6.
- Interfacing to the POSTGRESQL Database
- (a)
- C Language API (LIBPQ)
- (b)
- Embedded C (ECPG)
- (c)
- C++ (LIBPQ++)
- (d)
- JAVA (JDBC)
- (e)
- ODBC
- (f)
- PERL (PGSQL_PERL5)
- (g)
- TCL/TK (LIBPGTCL)
- (h)
- PYTHON (PYGRESQL)
- (i)
- Web access (PHP)
- (j)
- Server-side programming
- i.
- PLPGSQL
- ii.
- SPI
- 7.
- POSTGRESQL Administration
- (a)
- Creating users and databases
- (b)
- Backup and restore
- (c)
- Performance
- (d)
- Troubleshooting
- (e)
- Customization
- (f)
- Access configuration
- i.
- server access
- ii.
- database access
- iii.
- table access
- (g)
- Internationalization
- i.
- national character encodings
- ii.
- date formats
- 8.
- Additional Resources
- (a)
- Frequently Asked Questions (FAQ'S)
- (b)
- Mailing list support
- (c)
- Supplied documentation
- (d)
- Commercial support
- (e)
- Modifying the source code
- 9.
- Appendix: Installation
- (a)
- Getting POSTGRESQL
- i.
- FTP
- ii.
- web
- iii.
- CDROM
- (b)
- Compiling
- i.
- compiler
- ii.
- RPM
- (c)
- Initialization
- (d)
- Starting the server
- (e)
- Creating a database
- 10.
- Annotated Bibliography