# 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.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.4. Linux Memory Overcommit
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.9. Secure TCP/IP Connections with SSL
19.9.3. Using Client Certificates
19.10. Secure TCP/IP Connections with GSSAPI Encryption
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.