HiveBrain v1.2.0
Get Started
← Back to all entries
snippetsqlMajor

How to upgrade PostgreSQL from version 8.4 to 9.4?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
postgresqlversionhowfromupgrade

Problem

I want to upgrade my PostgreSQL from version 8.4 to 9.4.

The documentation is not very clear to me.

  • Will I lose my old databases if I do the upgrade?



  • How can I backup my old databases if I am to lose them after the upgrade?



  • How can I upgrade my psql?



My PostgreSQL is running on a CentOS 6.6 server.

Solution

This is how I solved my problem.

Upgrade Postgresql 8.4 to 9.4 in Centos

1. Yum Install PG9.4
 2. wget http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
 3. yum install pgdg-redhat94-9.4-1.noarch.rpm
 4. yum install postgresql94-server
 5. service postgresql-9.4 initdb
 6. chkconfig postgresql-9.4 on


Backup Data

7. su - postgres

 8. pg_dumpall > dump.sql


Restore Data

9. service postgresql stop

 10. service postgresql-9.4 start

 11. su - postgres

 12. psql < dump.sql


Config Network Access

vi /var/lib/pgsql/9.4/data/postgresql.conf

1. listen_addresses = '*'
 2. port = 5432


/var/lib/pgsql/9.4/data/pg_hba.conf

# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          ident
host    all         all         130.51.79.0/24        md5
host    all         all         10.210.29.0/24        md5
# IPv6 local connections:
host    all         all         ::1/128               ident


Remove PG8.4

1. yum remove postgresql
 2. ln -s /usr/pgsql-9.4/bin/psql /usr/local/bin/psql

Code Snippets

1. Yum Install PG9.4
 2. wget http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpm
 3. yum install pgdg-redhat94-9.4-1.noarch.rpm
 4. yum install postgresql94-server
 5. service postgresql-9.4 initdb
 6. chkconfig postgresql-9.4 on
7. su - postgres

 8. pg_dumpall > dump.sql
9. service postgresql stop

 10. service postgresql-9.4 start

 11. su - postgres

 12. psql < dump.sql
1. listen_addresses = '*'
 2. port = 5432
# "local" is for Unix domain socket connections only
local   all         all                               ident
# IPv4 local connections:
host    all         all         127.0.0.1/32          ident
host    all         all         130.51.79.0/24        md5
host    all         all         10.210.29.0/24        md5
# IPv6 local connections:
host    all         all         ::1/128               ident

Context

StackExchange Database Administrators Q#98144, answer score: 26

Revisions (0)

No revisions yet.