Supported Versions: Current (16) / 15 / 14 / 13 / 12
Development Versions: 17 / devel
Unsupported versions: 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.

Part III. Server Administration

This part covers topics that are of interest to a PostgreSQL administrator. This includes installation, configuration of the server, management of users and databases, and maintenance tasks. Anyone running PostgreSQL server, even for personal use, but especially in production, should be familiar with these topics.

The information attempts to be in the order in which a new user should read it. The chapters are self-contained and can be read individually as desired. The information is presented in a narrative form in topical units. Readers looking for a complete description of a command are encouraged to review the Part VI.

The first few chapters are written so they can be understood without prerequisite knowledge, so new users who need to set up their own server can begin their exploration. 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 review the Part I and Part II parts for additional information.

Table of Contents

16. Installation from Binaries
17. Installation from Source Code
17.1. Requirements
17.2. Getting the Source
17.3. Building and Installation with Autoconf and Make
17.4. Building and Installation with Meson
17.5. Post-Installation Setup
17.6. Supported Platforms
17.7. Platform-Specific Notes
18. Server Setup and Operation
18.1. The PostgreSQL User Account
18.2. Creating a Database Cluster
18.3. Starting the Database Server
18.4. Managing Kernel Resources
18.5. Shutting Down the Server
18.6. Upgrading a PostgreSQL Cluster
18.7. Preventing Server Spoofing
18.8. Encryption Options
18.9. Secure TCP/IP Connections with SSL
18.10. Secure TCP/IP Connections with GSSAPI Encryption
18.11. Secure TCP/IP Connections with SSH Tunnels
18.12. Registering Event Log on Windows
19. Server Configuration
19.1. Setting Parameters
19.2. File Locations
19.3. Connections and Authentication
19.4. Resource Consumption
19.5. Write Ahead Log
19.6. Replication
19.7. Query Planning
19.8. Error Reporting and Logging
19.9. Run-time Statistics
19.10. Automatic Vacuuming
19.11. Client Connection Defaults
19.12. Lock Management
19.13. Version and Platform Compatibility
19.14. Error Handling
19.15. Preset Options
19.16. Customized Options
19.17. Developer Options
19.18. Short Options
20. Client Authentication
20.1. The pg_hba.conf File
20.2. User Name Maps
20.3. Authentication Methods
20.4. Trust Authentication
20.5. Password Authentication
20.6. GSSAPI Authentication
20.7. SSPI Authentication
20.8. Ident Authentication
20.9. Peer Authentication
20.10. LDAP Authentication
20.11. RADIUS Authentication
20.12. Certificate Authentication
20.13. PAM Authentication
20.14. BSD Authentication
20.15. Authentication Problems
21. Database Roles
21.1. Database Roles
21.2. Role Attributes
21.3. Role Membership
21.4. Dropping Roles
21.5. Predefined Roles
21.6. Function Security
22. Managing Databases
22.1. Overview
22.2. Creating a Database
22.3. Template Databases
22.4. Database Configuration
22.5. Destroying a Database
22.6. Tablespaces
23. Localization
23.1. Locale Support
23.2. Collation Support
23.3. Character Set Support
24. Routine Database Maintenance Tasks
24.1. Routine Vacuuming
24.2. Routine Reindexing
24.3. Log File Maintenance
25. Backup and Restore
25.1. SQL Dump
25.2. File System Level Backup
25.3. Continuous Archiving and Point-in-Time Recovery (PITR)
26. High Availability, Load Balancing, and Replication
26.1. Comparison of Different Solutions
26.2. Log-Shipping Standby Servers
26.3. Failover
26.4. Hot Standby
27. Monitoring Database Activity
27.1. Standard Unix Tools
27.2. The Cumulative Statistics System
27.3. Viewing Locks
27.4. Progress Reporting
27.5. Dynamic Tracing
27.6. Monitoring Disk Usage
28. Reliability and the Write-Ahead Log
28.1. Reliability
28.2. Data Checksums
28.3. Write-Ahead Logging (WAL)
28.4. Asynchronous Commit
28.5. WAL Configuration
28.6. WAL Internals
29. Logical Replication
29.1. Publication
29.2. Subscription
29.3. Logical Replication Failover
29.4. Row Filters
29.5. Column Lists
29.6. Conflicts
29.7. Restrictions
29.8. Architecture
29.9. Monitoring
29.10. Security
29.11. Configuration Settings
29.12. Quick Setup
30. Just-in-Time Compilation (JIT)
30.1. What Is JIT compilation?
30.2. When to JIT?
30.3. Configuration
30.4. Extensibility
31. Regression Tests
31.1. Running the Tests
31.2. Test Evaluation
31.3. Variant Comparison Files
31.4. TAP Tests
31.5. Test Coverage Examination