Supported Versions: Current (17) / 16 / 15 / 14 / 13
Development Versions: devel
Unsupported versions: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

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
15. Installation Instructions
15.1. Short Version
15.2. Requirements
15.3. Getting The Source
15.4. Upgrading
15.5. Installation Procedure
15.6. Post-Installation Setup
15.7. Supported Platforms
16. Installation on Windows
16.1. Building with Visual C++ 2005
16.2. Building libpq with Visual C++ or Borland C++
17. Operating System Environment
17.1. The PostgreSQL User Account
17.2. Creating a Database Cluster
17.3. Starting the Database Server
17.4. Managing Kernel Resources
17.5. Shutting Down the Server
17.6. Preventing Server Spoofing
17.7. Encryption Options
17.8. Secure TCP/IP Connections with SSL
17.9. Secure TCP/IP Connections with SSH Tunnels
18. Server Configuration
18.1. Setting Parameters
18.2. File Locations
18.3. Connections and Authentication
18.4. Resource Consumption
18.5. Write Ahead Log
18.6. Query Planning
18.7. Error Reporting and Logging
18.8. Run-Time Statistics
18.9. Automatic Vacuuming
18.10. Client Connection Defaults
18.11. Lock Management
18.12. Version and Platform Compatibility
18.13. Preset Options
18.14. Customized Options
18.15. Developer Options
18.16. Short Options
19. Database Roles and Privileges
19.1. Database Roles
19.2. Role Attributes
19.3. Privileges
19.4. Role Membership
19.5. Functions and Triggers
20. Managing Databases
20.1. Overview
20.2. Creating a Database
20.3. Template Databases
20.4. Database Configuration
20.5. Destroying a Database
20.6. Tablespaces
21. Client Authentication
21.1. The pg_hba.conf file
21.2. Authentication methods
21.3. Authentication problems
22. Localization
22.1. Locale Support
22.2. Character Set Support
23. Routine Database Maintenance Tasks
23.1. Routine Vacuuming
23.2. Routine Reindexing
23.3. Log File Maintenance
24. Backup and Restore
24.1. SQL Dump
24.2. File System Level Backup
24.3. Continuous Archiving and Point-In-Time Recovery (PITR)
24.4. Warm Standby Servers for High Availability
24.5. Migration Between Releases
25. High Availability, Load Balancing, and Replication
26. Monitoring Database Activity
26.1. Standard Unix Tools
26.2. The Statistics Collector
26.3. Viewing Locks
26.4. Dynamic Tracing
27. Monitoring Disk Usage
27.1. Determining Disk Usage
27.2. Disk Full Failure
28. Reliability and the Write-Ahead Log
28.1. Reliability
28.2. Write-Ahead Logging (WAL)
28.3. Asynchronous Commit
28.4. WAL Configuration
28.5. WAL Internals
29. Regression Tests
29.1. Running the Tests
29.2. Test Evaluation
29.3. Variant Comparison Files