Chapter 20. Server Setup and Operation

Table of Contents

20.1. The PostgreSQL User Account
20.2. Creating a Database Cluster
20.2.1. Use of Secondary File Systems
20.2.2. File Systems
20.3. Starting the Database Server
20.3.1. Server Start-up Failures
20.3.2. Client Connection Problems
20.4. Managing Kernel Resources
20.4.1. Shared Memory and Semaphores
20.4.2. systemd RemoveIPC
20.4.3. Resource Limits
20.4.4. Linux Memory Overcommit
20.4.5. Linux Huge Pages
20.5. Shutting Down the Server
20.6. Upgrading a PostgreSQL Cluster
20.6.1. Upgrading Data via pg_dumpall
20.6.2. Upgrading Data via pg_upgrade
20.6.3. Upgrading Data via Replication
20.7. Preventing Server Spoofing
20.8. Encryption Options
20.9. Secure TCP/IP Connections with SSL
20.9.1. Basic Setup
20.9.2. OpenSSL Configuration
20.9.3. Using Client Certificates
20.9.4. SSL Server File Usage
20.9.5. Creating Certificates
20.10. Secure TCP/IP Connections with GSSAPI Encryption
20.11. Secure TCP/IP Connections with SSH Tunnels
20.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.