Last active
August 29, 2015 14:20
-
-
Save hoanghiep90/34231660cc86790925c9 to your computer and use it in GitHub Desktop.
Upgrade Postgres 9.3 to 9.4 on Ubuntu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Be sure to save your config files. Optional but I do: | |
sudo cp /etc/postgresql/9.3/main/postgresql.conf ~ | |
sudo cp /etc/postgresql/9.3/main/pg_hba.conf ~ | |
# Also probably optional but I like to update sources and upgrade | |
sudo apt-get update | |
sudo apt-get upgrade | |
# Install postgres 9.4 | |
sudo apt-get update | |
sudo apt-get install postgresql-9.4 postgresql-server-dev-9.4 postgresql-contrib-9.4 | |
# dump your data | |
sudo su postgres | |
/usr/lib/postgresql/9.4/bin/pg_dumpall > ~/pre_upgrade_from_9.3_to_9.4.dump | |
# Make a data dir for Postgres 9.4 (on your EBS if this is EC2) | |
sudo mkdir -p /data/postgres/9.4/main | |
sudo chown -R postgres:postgres /data/postgres | |
# Change the 9.4 conf file's data dir to point to /data/postgres/9.4/main | |
# sudo nano /etc/postgresql/9.4/main/postgresql.conf | |
# Install 9.4 cluster | |
sudo /etc/init.d/postgresql stop | |
sudo pg_dropcluster 9.4 main | |
sudo pg_createcluster 9.4 main | |
# sudo pg_createcluster -d /data/postgres/9.4/main 9.4 main | |
# start 9.4 explicitly | |
sudo /etc/init.d/postgresql start 9.4 | |
# Restore: Make sure to use the 9.4 version of psql | |
sudo su postgres | |
psql -d postgres -p 5433 -f ~/pre_upgrade_from_9.3_to_9.4.dump | |
# Or nohup version: | |
sudo -u postgres nohup psql -d postgres -p 5433 -f /mnt/dumps/pre_upgrade_from_9.3_to_9.4.dump > upgrade-restore-nohup.out 2>&1 & | |
# Change port (optional) | |
sudo service postgresql stop 9.4 | |
sudo nano /etc/postgresql/9.4/main/postgresql.conf | |
# change to 5432 | |
# Change the postgres conf and hba conf back to what it was! (reference previously copied files) | |
sudo nano /etc/postgresql/9.4/main/postgresql.conf | |
sudo nano /etc/postgresql/9.4/main/pg_hba.conf | |
sudo service postgresql restart 9.4 | |
# Verify your data was properly imported | |
# Drop old cluster | |
sudo pg_dropcluster --stop 9.3 main | |
# Analyze | |
sudo service postgresql start | |
psql | |
>\c your_database | |
> ANALYZE; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment