III. Server Administration

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

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 see 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 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 from Source Code
15.1. Short Version
15.2. Requirements
15.3. Getting The Source
15.4. Installation Procedure
15.5. Post-Installation Setup
15.6. Supported Platforms
15.7. Platform-specific Notes
16. Server Setup and Operation
16.1. The Postgres-XC User Account
16.2. Creating a Database Cluster
16.3. Starting Postgres-XC Cluster
16.4. Managing Kernel Resources
16.5. Shutting Down the Server
16.6. Upgrading a PostgreSQL Cluster
16.7. Preventing Coordinator/Datanode Spoofing
16.8. Encryption Options
16.9. Secure TCP/IP Connections with SSL
16.10. Secure TCP/IP Connections with SSH Tunnels
16.11. Registering Event Log on Windows
17. Coordinator and Datanode 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. Replication
17.7. Query Planning
17.8. Error Reporting and Logging
17.9. Run-time Statistics
17.10. Automatic Vacuuming
17.11. Client Connection Defaults
17.12. Lock Management
17.13. Version and Platform Compatibility
17.14. Error Handling
17.15. Preset Options
17.16. Customized Options
17.17. Developer Options
17.18. Short Options
17.19. Postgres-XC Specific Parameters
18. Client Authentication
18.1. The pg_hba.conf File
18.2. User Name Maps
18.3. Authentication Methods
18.4. Authentication Problems
19. Database Roles
19.1. Database Roles
19.2. Role Attributes
19.3. Role Membership
19.4. Function and Trigger Security
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. Localization
21.1. Locale Support
21.2. Collation Support
21.3. 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)
24. High Availability, Load Balancing, and Replication
24.1. Comparison of Different Solutions
24.2. Log-Shipping Standby Servers
24.3. Failover
24.4. Alternative Method for Log Shipping
24.5. Hot Standby
25. Recovery Configuration
25.1. Archive Recovery Settings
25.2. Recovery Target Settings
25.3. Standby Server Settings
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
28.6. Barrier
29. Regression Tests
29.1. Running the Tests
29.2. Test Evaluation
29.3. Variant Comparison Files
29.4. Test Coverage Examination