Chapter 18. Server Setup and Operation

Table of Contents

18.1. The PostgreSQL User Account
18.2. Creating a Database Cluster
18.2.1. Use of Secondary File Systems
18.2.2. File Systems
18.3. Starting the Database Server
18.3.1. Server Start-up Failures
18.3.2. Client Connection Problems
18.4. Managing Kernel Resources
18.4.1. Shared Memory and Semaphores
18.4.2. systemd RemoveIPC
18.4.3. Resource Limits
18.4.4. Linux Memory Overcommit
18.4.5. Linux Huge Pages
18.5. Shutting Down the Server
18.6. Upgrading a PostgreSQL Cluster
18.6.1. Upgrading Data via pg_dumpall
18.6.2. Upgrading Data via pg_upgrade
18.6.3. Upgrading Data via Replication
18.7. Preventing Server Spoofing
18.8. Encryption Options
18.9. Secure TCP/IP Connections with SSL
18.9.1. Basic Setup
18.9.2. OpenSSL Configuration
18.9.3. Using Client Certificates
18.9.4. SSL Server File Usage
18.9.5. Creating Certificates
18.10. Secure TCP/IP Connections with GSSAPI Encryption
18.10.1. Basic Setup
18.11. Secure TCP/IP Connections with SSH Tunnels
18.12. Registering Event Log on Windows

This chapter discusses how to set up and run the database server, and its interactions with the operating system.

The directions in this chapter assume that you are working with plain PostgreSQL without any additional infrastructure, for example a copy that you built from source according to the directions in the preceding chapters. If you are working with a pre-packaged or vendor-supplied version of PostgreSQL, it is likely that the packager has made special provisions for installing and starting the database server according to your system's conventions. Consult the package-level documentation for details.