Part III. Server Administration

This part covers topics that are of interest to a LightDB 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 LightDB 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 LightDB database system. Readers are encouraged to look at Part I and Part II for additional information.

Table of Contents

16. Server Setup and Operation
16.1. The LightDB 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. Upgrading a LightDB Cluster
16.7. Preventing Server Spoofing
16.8. Encryption Options
16.9. Secure TCP/IP Connections with SSL
16.10. Secure TCP/IP Connections with GSSAPI Encryption
16.11. Secure TCP/IP Connections with SSH Tunnels
16.12. Registering Event Log on Windows
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. 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
18. Client Authentication
18.1. The lt_hba.conf File
18.2. User Name Maps
18.3. Authentication Methods
18.4. Trust Authentication
18.5. Password Authentication
18.6. GSSAPI Authentication
18.7. SSPI Authentication
18.8. Ident Authentication
18.9. Peer Authentication
18.10. LDAP Authentication
18.11. RADIUS Authentication
18.12. Certificate Authentication
18.13. PAM Authentication
18.14. BSD Authentication
18.15. Authentication Problems
19. Database Roles
19.1. Database Roles
19.2. Role Attributes
19.3. Role Membership
19.4. Dropping Roles
19.5. Default Roles
19.6. Function 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. Monitoring Database Activity
25.1. Standard Unix Tools
25.2. The Statistics Collector
25.3. Viewing Locks
25.4. Progress Reporting
25.5. Dynamic Tracing
26. Monitoring Disk Usage
26.1. Determining Disk Usage
26.2. Disk Full Failure
27. Reliability and the Write-Ahead Log
27.1. Reliability
27.2. Write-Ahead Logging (WAL)
27.3. Asynchronous Commit
27.4. WAL Configuration
27.5. WAL Internals
28. Logical Replication
28.1. Publication
28.2. Subscription
28.3. Conflicts
28.4. Restrictions
28.5. Architecture
28.6. Monitoring
28.7. Security
28.8. Configuration Settings
28.9. Quick Setup
29. Just-in-Time Compilation (JIT)
29.1. What Is JIT compilation?
29.2. When to JIT?
29.3. Configuration
29.4. Extensibility
30. Regression Tests
30.1. Running the Tests
30.2. Test Evaluation
30.3. Variant Comparison Files
30.4. TAP Tests
30.5. Test Coverage Examination
31. Transparent Data Encryption