III. Server Administration

This part covers topics that are of interest to a PostgreSQL database administrator. This includes installation of the software, set up and configuration of the server, management of users and databases, and maintenance tasks. Anyone who runs a PostgreSQL server, even for personal use, but especially in production, should be familiar with the topics covered in this part.

The information in this part is arranged approximately in the order in which a new user should read it. But the chapters are self-contained and can be read individually as desired. The information in this part is presented in a narrative fashion in topical units. Readers looking for a complete description of a particular command should look into Part VI.

The first few chapters are written so that they can be understood without prerequisite knowledge, so that new users who need to set up their own server can begin their exploration with this part. The rest of this part is about tuning and management; that material assumes that the reader is familiar with the general use of the PostgreSQL database system. Readers are encouraged to look at Part I and Part II for additional information.

Table of Contents
14. Installation Instructions
14.1. Short Version
14.2. Requirements
14.3. Getting The Source
14.4. If You Are Upgrading
14.5. Installation Procedure
14.6. Post-Installation Setup
14.7. Supported Platforms
15. Client-Only Installation on Windows
16. Operating System Environment
16.1. The PostgreSQL User Account
16.2. Creating a Database Cluster
16.3. Starting the Database Server
16.4. Managing Kernel Resources
16.5. Shutting Down the Server
16.6. Encryption Options
16.7. Secure TCP/IP Connections with SSL
16.8. Secure TCP/IP Connections with SSH Tunnels
17. Server Configuration
17.1. Setting Parameters
17.2. File Locations
17.3. Connections and Authentication
17.4. Resource Consumption
17.5. Write Ahead Log
17.6. Query Planning
17.7. Error Reporting and Logging
17.8. Run-Time Statistics
17.9. Automatic Vacuuming
17.10. Client Connection Defaults
17.11. Lock Management
17.12. Version and Platform Compatibility
17.13. Preset Options
17.14. Customized Options
17.15. Developer Options
17.16. Short Options
18. Database Roles and Privileges
18.1. Database Roles
18.2. Role Attributes
18.3. Privileges
18.4. Role Membership
18.5. Functions and Triggers
19. Managing Databases
19.1. Overview
19.2. Creating a Database
19.3. Template Databases
19.4. Database Configuration
19.5. Destroying a Database
19.6. Tablespaces
20. Client Authentication
20.1. The pg_hba.conf file
20.2. Authentication methods
20.3. Authentication problems
21. Localization
21.1. Locale Support
21.2. Character Set Support
22. Routine Database Maintenance Tasks
22.1. Routine Vacuuming
22.2. Routine Reindexing
22.3. Log File Maintenance
23. Backup and Restore
23.1. SQL Dump
23.2. File system level backup
23.3. Continuous Archiving and Point-In-Time Recovery (PITR)
23.4. Migration Between Releases
24. Monitoring Database Activity
24.1. Standard Unix Tools
24.2. The Statistics Collector
24.3. Viewing Locks
25. Monitoring Disk Usage
25.1. Determining Disk Usage
25.2. Disk Full Failure
26. Reliability and the Write-Ahead Log
26.1. Reliability
26.2. Write-Ahead Logging (WAL)
26.3. WAL Configuration
26.4. WAL Internals
27. Regression Tests
27.1. Running the Tests
27.2. Test Evaluation
27.3. Variant Comparison Files