Structure of This Book

This book is divided into four parts, each focused on a different aspect of a PostgreSQL database system. It also includes a complete command reference, and a small set of technical appendixes.

Part I in Practical PostgreSQL, is a general overview of PostgreSQL. It documents what it is, where you can obtain it, and how to install it on your system. It also covers a wide variety of compilation options which allow you to customize PostgreSQL to your needs.

Part II in Practical PostgreSQL, includes everything from general information on relational databases and the structured query language (SQL), to advanced extensibility of PostgreSQL's functions and operators. Chapter 3, begins with relational database and table concepts, and introduces the basics of statements, keywords, identifiers, and data types. Chapter 4, delves deeper into the use of SQL, covering how to perform essential database functions such as creating and altering tables, inserting rows into tables, copying data, retrieving result sets, and using views.

Chapter 5, expands on the variety of operators and functions built into PostgreSQL, while Chapter 6, includes extra information on the use of the psql and PgAccess database clients. Concluding the part is Chapter 7, which details the more advanced PostgreSQL features such as indices, inheritance, arrays, constraints, triggers, sequences and cursors. This chapter also documents PostgreSQL's advanced extensibility with user-defined operators and functions.

Part III in Practical PostgreSQL, explores topics with which you should be familiar if you are (or plan to be) the administrator of a PostgreSQL database. This part begins with Chapter 8, which describes PostgreSQL's authentication methods and the types of encryption available for use. Chapter 9 details the fundamental management of a PostgreSQL database, including initialization of the filesystem, and how to start and stop the backend. This chapter also contains information on database creation, removal, backup, and restoration of a backup. Chapter 10 documents how to add and remove user accounts and groups, and manage database privileges.

Part IV in Practical PostgreSQL, is a foray into the world of programming for PostgreSQL, covering the PL/pgSQL procedural language, JDBC (Java DataBase Connectivity), and LXP. Chapter 11 includes information about the PL/pgSQL language, how to add it into a PostgreSQL database, and how to use its various programmatic features. Chapter 12, shows how to build the JDBC interface to PostgreSQL, and introduces the basics of using it. Chapter 13 wraps up the part by documenting the installation, configuration and use of the LXP PostgreSQL application server for the Apache HTTP server.

Finally, Part 5 contains a comprehensive command reference guide, which documents each of the standard and extended SQL commands supported by PostgreSQL.