(NOTE: Each chapter concludes with a Summary.)
I. GETTING STARTED.
1. Getting Started.
Why Use PHP and PostgreSQL as a Team? What You Can Do with PHP and PostgreSQL. Web Sites Built on PHP and PostgreSQL.
2. Setting Up PHP.
About PHP. Installing Apache with PHP from Source. Installing Binaries on Linux. Configuring PHP.
3. PHP Basics.
Getting Started. Control Structures and Operators. Data Types and Functions. Building Functions. Exception Handling. Working with Files. Variables and Scope. Building Packages. Working with Forms. Debugging PHP.
4. Object-Oriented PHP.
The Concepts of Object Orientation. Building Classes. Working with Inheritance.
II. GETTING STARTED WITH POSTGRESQL.
5. Relational and Object-Relational Database Concepts.
Normalization. Basic Operations in the Relational Model. PostgreSQL as an Object Relational Database. Modeling Techniques. Components of Relational Databases and Technical Terms.
6. Installing PostgreSQL.
Installing PostgreSQL on Unix. Installing PostgreSQL on Windows. Creating and Removing Databases. The User Interface. The Architecture of PostgreSQL. License.
7. Basic SQL.
Data Types. Building Tables. Building Simple SQL Statements. Updates and Deletes. Writing Joins. Aggregating Data. Inserting Huge Amounts of Data. Indexes. Modifying Objects. Mathematical Functions and Operators.
8. Advanced SQL.
Advanced Data Types. Working with Views. Working with Subselects. Working with Aliases and Self-Joins. Object-Oriented SQL. Transactions and Locking. Constraints. Basic Optimizations Using EXPLAIN. Sophisticated Joins. Working with Arrays. Combining Queries and Ranges of Values.
9. Embedded Languages.
Writing SQL Functions. PL/pgSQL. Writing Triggers. Embedded Languages Versus PHP Functions.
10. PostgreSQL Administration.
User Administration and User Rights. Maintenance and Database Internals. Configuring PostgreSQL. Preparing the Database for the Web.
III. PHP/POSTGRESQL INTERACTION.
11. Writing Database-Driven Applications.
Connecting to the Database. Inserting and Retrieving Data. Error Handling and Monitoring. Handling Huge Amounts of Data. Retrieving Objects from the Database. Tracing a PostgreSQL Connection. Locking. PHP and Transactions.
12. Working with BLOBs.
Working with PostgreSQL BLOBs Using SQL. Working with PostgreSQL BLOBs Using PHP. Managing File Uploads. Storing Files as Toasted Text. An Example of a Simple Image Management Tool.
13. Working with Persistent Database Connections.
The Concept of Persistent Database Connections. An Example. Persistent Connections and Performance. Dangers and Hardware Issues.
IV. ADVANCED TECHNOLOGIES.
14. Managing Regular Expressions.
Perl Style. POSIX Style. Regular Expressions and SQL.
15. Session Management.
Managing Sessions with Cookies. Session Management.
16. Working with Dynamic Documents, Images, and Movies.
Creating Dynamic Images. Using Geometric Data Types. Creating Dynamic Flash Movies. Generating PDF Files.
17. Working with Dates and Time.
Dates and Time in SQL. Dates and Time in PHP.
Tuning PostgreSQL. Tuning PHP.
The Basic Concepts. Building a Simple XML-Based Application. XML and PostgreSQL.
20. Security Issues.
Potential Threats. Securing Your System. User Authentication with Apache and PHP.
V. PRACTICAL EXAMPLES.
21. Web Applications.
Mail Systems. Building a Web Shop. Building a Content Management System. Creating Stock Charts. PHP for Application Servers.
22. Extending PostgreSQL.
A User-Defined Data Type. Building Substring Indexes. Tolerant Search Algorithms.
23. High-Availability Systems.
An Introduction to High Availability. Building Failsafe Applications.
24 - Migration.
Migrating from MySQL to PostgreSQL. Migrating from Oracle to PostgreSQL.