Chapter 19. Server Setup and Operation

Table of Contents

19.1. The PostgreSQL User Account
19.2. Creating a Database Cluster
19.2.1. Use of Secondary File Systems
19.2.2. File Systems
19.3. Starting the Database Server
19.3.1. Server Start-up Failures
19.3.2. Client Connection Problems
19.4. Managing Kernel Resources
19.4.1. Shared Memory and Semaphores
19.4.2. systemd RemoveIPC
19.4.3. Resource Limits
19.4.4. Linux Memory Overcommit
19.4.5. Linux Huge Pages
19.5. Shutting Down the Server
19.6. Upgrading a PostgreSQL Cluster
19.6.1. Upgrading Data via pg_dumpall
19.6.2. Upgrading Data via pg_upgrade
19.6.3. Upgrading Data via Replication
19.7. Preventing Server Spoofing
19.8. Encryption Options
19.9. Secure TCP/IP Connections with SSL
19.9.1. Basic Setup
19.9.2. OpenSSL Configuration
19.9.3. Using Client Certificates
19.9.4. SSL Server File Usage
19.9.5. Creating Certificates
19.10. Secure TCP/IP Connections with GSSAPI Encryption
19.10.1. Basic Setup
19.11. Secure TCP/IP Connections with SSH Tunnels
19.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.