...
- Install the upgraded version. Below, PostgreSQL 9.6 is installed.
For CentOS 6.x:
Code Block wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-310.noarch.rpm sudo yum -y install pgdg-centos96-9.6-310.noarch.rpm
For CentOS 7.x:
Code Block wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-310.noarch.rpm sudo yum -y install pgdg-centos96-9.6-310.noarch.rpm
For Red Hat Enterprise Linux 6.x:
Code Block wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-310.noarch.rpm sudo yum -y install pgdg-redhat96-9.6-310.noarch.rpm
For Red Hat Enterprise Linux 7.x:
Code Block wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-310.noarch.rpm sudo yum -y install pgdg-redhat96-9.6-310.noarch.rpm
Create a new data directory for the new database version:
For CentOS 7.x:
Code Block sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
For CentOS 6.x, RHEL 6.x:
Code Block sudo service postgresql-9.6 initdb
For RHEL 7.x:
Code Block sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Use the following commands to verify that the upgrade is possible:
Code Block su postgres cd ~ /usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/pgsql-9.3/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/9.3/data/ --new-datadir=/var/lib/pgsql/9.6/data/ --check
If all is well, you should see a
Clusters are compatible
message.- Stop the old version of the database service as the root user:
CentOS/RHEL:
Code Block sudo service postgresql-9.3 stop
- Run the upgrade as the
postgres
user:CentOS/RHEL:
Code Block su postgres /usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/pgsql-9.3/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/9.3/data/ --new-datadir=/var/lib/pgsql/9.6/data/
...