YUM Installation

From PostgreSQL wiki

(Redirected from RPM Installation)
Jump to: navigation, search

PostgreSQL can be installed using RPMs (binary) or SRPMs (source) managed by YUM. This is available for the following Linux distributions (both 32- and 64-bit platforms; for the current release and prior release or two):

  • Fedora
  • Red Hat Enterprise Linux
  • CentOS
  • Scientific Linux
  • Oracle Enterprise Linux

See links from the main repository, http://yum.postgresql.org:



Configure your YUM repository

Locate and edit your distributions .repo file, located:

  • On Fedora: /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo, [fedora] sections
  • On CentOS: /etc/yum.repos.d/CentOS-Base.repo, [base] and [updates] sections
  • On Red Hat: /etc/yum/pluginconf.d/rhnplugin.conf [main] section

To the section(s) identified above, you need to append a line (otherwise dependencies might resolve to the postgresql supplied by the base repository):


Install PGDG RPM file

A PGDG file is available for each distribution/architecture/database version combination. Browse https://yum.postgresql.org/repopackages.php and find your correct RPM. For example, to install PostgreSQL 9.6 on CentOS 7 64-bit: yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm

Install PostgreSQL

To list available packages:

yum list postgresql*

For example, to install a basic PostgreSQL 9.6 server:

yum install postgresql96-server

Other packages can be installed according to your needs.

Post-installation commands

After installing the packages, a database needs to be initialized and configured.

In the commands below, the value of <name> will vary depending on the version of PostgreSQL used.

For PostgreSQL version 9.0 and above, the <name> includes the major.minor version of PostgreSQL, e.g., postgresql-9.4

Data Directory

The PostgreSQL data directory contains all of the data files for the database. The variable PGDATA is used to reference this directory.

The default data directory is:


For example:



The first command (only needed once) is to initialize the database in PGDATA.

For Red Hat 6:

service <name> initdb

E.g. for version 9.6:

service postgresql-9.6 initdb

For Red Hat 7, and Fedora 23 and above:

If the previous command did not work, try directly calling the setup binary, located in a similar naming scheme:

/usr/pgsql-y.x/bin/postgresqlyx-setup initdb

E.g. for version 9.6:

/usr/pgsql-9.6/bin/postgresql96-setup initdb


If you want PostgreSQL to start automatically when the OS starts, do the following:

In RHEL 6 and PostgreSQL 9.6:

chkconfig postgresql-9.6 on

In RHEL 7+, and Fedora 23+ try:

 systemctl enable postgresql-9.6.service

Control service

To control the database service, use:

for RHEL 5 and 6:

service <name> <command>

where <command> can be:

  • start : start the database
  • stop : stop the database
  • restart : stop/start the database; used to read changes to core configuration files
  • reload : reload pg_hba.conf file while keeping database running

E.g. to start version 9.6:

service postgresql-9.6 start

With RHEL 7.1+ and CentOS 7.1+, and Fedora 23+, systemd is introduced. Use this instead:

 systemctl enable postgresql-9.6.service
 systemctl start postgresql-9.6.service


To remove everything:

yum erase postgresql96*
dnf remove postgresql96* for Fedora 23+.

Or remove individual packages as desired.


  • Email: pgsql-pkg-yum@postgresql.org (requires subscription)

After installation

First steps in PostgreSQL

Personal tools