The definitive guide to building, programming and administering the powerful PostgreSQL open-source database system.
Learn PostgreSQL skills from the updated edition of the best-selling, most widely respected PostgreSQL book
Master all the new features in the latest release of PostgreSQL 8.0
Harness one of the most widely used open-source, enterprise-level database systems available, capable of sustaining robust, high-performance applications
Product Description
The second edition of the best-selling PostgreSQL has been updated to completely cover new features and capabilities of the 8.0 version of PostgreSQL. You will be lead through the internals of the powerful PostgreSQL open source database chapter, offering an easy-to-read, code-based approach that makes it easy to understand how each feature is implemented, how to best use each feature, and how to get more performance from database applications. This definitive guide to building, programming and administering the powerful PostgreSQL open-source database system will help you harness one of the most widely used open source, enterprise-level database systems.
Backcover
The second edition of the best-selling PostgreSQL has been updated to completely cover new features and capabilities of the 8.0 version of PostgreSQL. You will be lead through the internals of the powerful PostgreSQL open source database chapter, offering an easy-to-read, code-based approach that makes it easy to understand how each feature is implemented, how to best use each feature, and how to get more performance from database applications. This definitive guide to building, programming and administering the powerful PostgreSQL open-source database system will help you harness one of the most widely used open source, enterprise-level database systems.
Introduction.
PostgreSQL Features
What Versions Does This Book Cover?
Who Is This Book For?
What Topics Does This Book Cover?
What's New in the Second Edition?
I. GENERAL POSTGRESQL USE.
1. Introduction to PostgreSQL and SQL.
A Sample Database
Basic Database Terminology
Prerequisites
Installing PostgreSQL Using an RPM
Connecting to a Database
A (Very) Simple Query
Creating Tables
Viewing Table Descriptions
Adding New Records to a Table
Using the INSERT Command
Using the COPY Command
Installing the Sample Database
Retrieving Data from the Sample Database
SELECT Expression
SELECT FROM Table
SELECT Single-Column FROM Table
SELECT Column-List FROM Table
SELECT Expression-List FROM Table
Selecting Specific Rows
The CASE Expression
Formatting Column Results
Matching Patterns
Aggregates
COUNT()
SUM()
AVG()
MIN() and MAX()
Other Aggregate Functions
Grouping Results
Multi-Table Joins
Join Types
UPDATE
DELETE
A (Very) Short Introduction to Transaction Processing
Creating New Tables Using CREATE TABLE...AS
Using VIEW
Summary
2. Working with Data in PostgreSQL.
NULL Values
Character Values
Syntax for Literal Values
Supported Operators
Numeric Values
Size, Precision, and Range-of-Values
Syntax for Literal Values
Supported Operators
Date/Time Values
Syntax for Literal Values
Supported Operators
Boolean (Logical) Values
Size and Valid Values
Syntax for Literal Values
Supported Operators
Geometric Data Types
Syntax for Literal Values
Sizes and Valid Values
Supported Operators
Object IDs (OID)
Syntax for Literal Values
Size and Valid Values
Supported Operators
BLOBs
Syntax for Literal Values
Supported Operators
Large-Objects
Network Address Data Types
MACADDR
CIDR
INET
Syntax for Literal Values
Supported Operators
Sequences
Arrays
Column Constraints
NULL/NOT NULL
UNIQUE
PRIMARY KEY
REFERENCES
CHECK()
Expression Evaluation and Type Conversion
Creating Your Own Data Types
Refining Data Types with CREATE DOMAIN
Creating and Using Composite Types
Summary
3. PostgreSQL SQL Syntax and Use.
PostgreSQL Naming Rules
The Importance of the COMMENT Command
Creating, Destroying, and Viewing Databases
Tablespaces
Creating New Databases
Dropping a Database
Viewing Databases
Creating New Tables
Temporary Tables
Table Constraints
Dropping Tables
Inheritance
ALTER TABLE
Adding Indexes to a Table
Tradeoffs
Creating an Index
Functional Indexes and Partial Indexes
Creating Indexes on Array Values
Indexes and Tablespaces
Getting Information About Databases and Tables
Transaction Processing
Persistence
Transaction Isolation
Multi-Versioning and Locking
Summary
4. Performance.
How PostgreSQL Organizes Data
Page Caching
Summary
Gathering Performance Information
Dead Tuples
Index Performance
Understanding How PostgreSQL Executes a Query
EXPLAIN
Seq Scan
Index Scan
Sort
Unique
LIMIT
Aggregate
Append
Result
Nested Loop
Merge Join
Hash and Hash Join
Group
Subquery Scan and Subplan
Tid Scan
Materialize
Setop (Intersect, Intersect All, Except, Except All)
Execution Plans Generated by the Planner
The ARC Buffer Manager
Table Statistics
Performance Tips
II. PROGRAMMING WITH POSTGRESQL.
5. Introduction to PostgreSQL Programming.
Server-Side Programming
PL/pgSQL
Other Procedural Languages
The second edition of the best-selling PostgreSQL has been updated to completely cover new features and capabilities of the 8.0 version of PostgreSQL. You will be lead through the internals of the powerful PostgreSQL open source database chapter, offering an easy-to-read, code-based approach that makes it easy to understand how each feature is implemented, how to best use each feature, and how to get more performance from database applications. This definitive guide to building, programming and administering the powerful PostgreSQL open-source database system will help you harness one of the most widely used open source, enterprise-level database systems.
Learn PostgreSQL skills from the updated edition of the best-selling, most widely respected PostgreSQL book
Master all the new features in the latest release of PostgreSQL 8.0
Harness one of the most widely used open-source, enterprise-level database systems available, capable of sustaining robust, high-performance applications
Product Description
The second edition of the best-selling PostgreSQL has been updated to completely cover new features and capabilities of the 8.0 version of PostgreSQL. You will be lead through the internals of the powerful PostgreSQL open source database chapter, offering an easy-to-read, code-based approach that makes it easy to understand how each feature is implemented, how to best use each feature, and how to get more performance from database applications. This definitive guide to building, programming and administering the powerful PostgreSQL open-source database system will help you harness one of the most widely used open source, enterprise-level database systems.
Backcover
The second edition of the best-selling PostgreSQL has been updated to completely cover new features and capabilities of the 8.0 version of PostgreSQL. You will be lead through the internals of the powerful PostgreSQL open source database chapter, offering an easy-to-read, code-based approach that makes it easy to understand how each feature is implemented, how to best use each feature, and how to get more performance from database applications. This definitive guide to building, programming and administering the powerful PostgreSQL open-source database system will help you harness one of the most widely used open source, enterprise-level database systems.
Introduction.
PostgreSQL Features
What Versions Does This Book Cover?
Who Is This Book For?
What Topics Does This Book Cover?
What's New in the Second Edition?
I. GENERAL POSTGRESQL USE.
1. Introduction to PostgreSQL and SQL.
A Sample Database
Basic Database Terminology
Prerequisites
Installing PostgreSQL Using an RPM
Connecting to a Database
A (Very) Simple Query
Creating Tables
Viewing Table Descriptions
Adding New Records to a Table
Using the INSERT Command
Using the COPY Command
Installing the Sample Database
Retrieving Data from the Sample Database
SELECT Expression
SELECT FROM Table
SELECT Single-Column FROM Table
SELECT Column-List FROM Table
SELECT Expression-List FROM Table
Selecting Specific Rows
The CASE Expression
Formatting Column Results
Matching Patterns
Aggregates
COUNT()
SUM()
AVG()
MIN() and MAX()
Other Aggregate Functions
Grouping Results
Multi-Table Joins
Join Types
UPDATE
DELETE
A (Very) Short Introduction to Transaction Processing
Creating New Tables Using CREATE TABLE...AS
Using VIEW
Summary
2. Working with Data in PostgreSQL.
NULL Values
Character Values
Syntax for Literal Values
Supported Operators
Numeric Values
Size, Precision, and Range-of-Values
Syntax for Literal Values
Supported Operators
Date/Time Values
Syntax for Literal Values
Supported Operators
Boolean (Logical) Values
Size and Valid Values
Syntax for Literal Values
Supported Operators
Geometric Data Types
Syntax for Literal Values
Sizes and Valid Values
Supported Operators
Object IDs (OID)
Syntax for Literal Values
Size and Valid Values
Supported Operators
BLOBs
Syntax for Literal Values
Supported Operators
Large-Objects
Network Address Data Types
MACADDR
CIDR
INET
Syntax for Literal Values
Supported Operators
Sequences
Arrays
Column Constraints
NULL/NOT NULL
UNIQUE
PRIMARY KEY
REFERENCES
CHECK()
Expression Evaluation and Type Conversion
Creating Your Own Data Types
Refining Data Types with CREATE DOMAIN
Creating and Using Composite Types
Summary
3. PostgreSQL SQL Syntax and Use.
PostgreSQL Naming Rules
The Importance of the COMMENT Command
Creating, Destroying, and Viewing Databases
Tablespaces
Creating New Databases
Dropping a Database
Viewing Databases
Creating New Tables
Temporary Tables
Table Constraints
Dropping Tables
Inheritance
ALTER TABLE
Adding Indexes to a Table
Tradeoffs
Creating an Index
Functional Indexes and Partial Indexes
Creating Indexes on Array Values
Indexes and Tablespaces
Getting Information About Databases and Tables
Transaction Processing
Persistence
Transaction Isolation
Multi-Versioning and Locking
Summary
4. Performance.
How PostgreSQL Organizes Data
Page Caching
Summary
Gathering Performance Information
Dead Tuples
Index Performance
Understanding How PostgreSQL Executes a Query
EXPLAIN
Seq Scan
Index Scan
Sort
Unique
LIMIT
Aggregate
Append
Result
Nested Loop
Merge Join
Hash and Hash Join
Group
Subquery Scan and Subplan
Tid Scan
Materialize
Setop (Intersect, Intersect All, Except, Except All)
Execution Plans Generated by the Planner
The ARC Buffer Manager
Table Statistics
Performance Tips
II. PROGRAMMING WITH POSTGRESQL.
5. Introduction to PostgreSQL Programming.
Server-Side Programming
PL/pgSQL
Other Procedural Languages
The second edition of the best-selling PostgreSQL has been updated to completely cover new features and capabilities of the 8.0 version of PostgreSQL. You will be lead through the internals of the powerful PostgreSQL open source database chapter, offering an easy-to-read, code-based approach that makes it easy to understand how each feature is implemented, how to best use each feature, and how to get more performance from database applications. This definitive guide to building, programming and administering the powerful PostgreSQL open-source database system will help you harness one of the most widely used open source, enterprise-level database systems.