Excerpts from book:

PostgreSQL is one of the most successful open source databases available. It is arguably also the most advanced, with a wide range of features that challenge even many closed-source databases.

This book is intended to be a practical guide to PostgreSQL v7.1.x, though most of the book should also apply to earlier and future releases of PostgreSQL. The content is focused on getting the reader comfortable with PostgreSQL in the most expedient fashion possible. Although this book will touch on some academic database subjects, such discussion will be kept brief. The core focus is to provide the reader with enough of an understanding of PostgreSQL to manage a fully operational PostgreSQL database. The hope is that by introducing this book to the community it will provide a better understanding of PostgreSQL and its functionality.

Who Is the Intended Audience?

This book is for anyone interested in utilizing the PostgreSQL object-relational database-management system (ORDBMS). The reader should be familiar with Linux- and UNIX-based systems, but is not expected to be a database guru. Although the test operating system for this book is Red Hat Linux, the tasks in this book that apply to Linux should apply to most UNIX variants without much modification.

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.