Before you can run postgresql you'll need to create the database files in /var/lib/pgsql. The following should do the trick. # su postgres -c "initdb -D /var/lib/pgsql/17/data --locale=en_US.UTF-8 -A md5 -W" Additionally, a logrotation script and init script are included. For production level log file handling please read https://www.postgresql.org/docs/17/logfile-maintenance.html In order to start postgresql at boot and stop it properly at shutdown, make sure rc.postgresql17 is executable and add the following lines to the following files: /etc/rc.d/rc.local ================== # Startup postgresql if [ -x /etc/rc.d/rc.postgresql17 ]; then /etc/rc.d/rc.postgresql17 start fi /etc/rc.d/rc.local_shutdown =========================== # Stop postgres if [ -x /etc/rc.d/rc.postgresql17 ]; then /etc/rc.d/rc.postgresql17 stop fi Additionally, rc.postgresql17 script has additional modes for stop/restart: force-stop|force-restart (i.e. pg_ctl 'fast' mode) unclean-stop|unclean-restart (i.e. pg_ctl 'immediate' mode) See https://www.postgresql.org/docs/17/app-pg-ctl.html From PostgreSQL 9.3 we support in place database upgrades using pg_upgrade: https://www.postgresql.org/docs/17/pgupgrade.html A few hints for PostgreSQL 16.x -> 17.x upgrade: - Don't remove old PostgreSQL 16.x package (yet) - Install PostgreSQL 17.x, note that binaries are in '/usr/lib64/postgresql17/17/bin' - Create database file for postgresql 17 # su postgres -c "initdb -D /var/lib/pgsql/17/data --locale=en_US.UTF-8 -A md5 -W" - Adjust the pg_hba.conf in postgresql 17 to allow postgres user to connect - Run pg_upgrade (as postgres user) $ pg_upgrade --old-datadir /var/lib/pgsql/16/data/ --new-datadir /var/lib/pgsql/17/data/ --old-bindir /usr/lib64/postgresql16/16/bin/ --new-bindir /usr/lib64/postgresql17/17/bin/ -U postgres - Start postgresql 17 service - Optionally, vacuum all database /usr/lib{64}/postgresql17/17/bin/vacuumdb -U postgres --all --analyze-in-stages To remove old's cluster data files, run: ./delete_old_cluster.sh - Remove old package when transition is over, or read comments in rc.postgresql if you want to run multiple PostgreSQL versions in parallel This script builds postgresql with some useful extension modules from the contrib directory, see PG_EXTENSIONS in SlackBuild file. To build PostgreSQL with all extensions, use the following command: # PG_EXTENSIONS=ALL ./postgresql.SlackBuild Please note that in order to actually use extension, you must execute 'CREATE EXTENSION [ IF NOT EXISTS ] extension_name' for each extension.