Last active
May 26, 2021 04:29
-
-
Save ibussieres/11262268 to your computer and use it in GitHub Desktop.
Upgrade PostgreSQL 9.1 to 9.3 on Ubuntu 12.04
This file contains 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
echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list | |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - | |
sudo apt-get update | |
sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3 postgresql-contrib-9.3 -y | |
sudo su - postgres -c "psql template1 -p 5433 -c 'CREATE EXTENSION IF NOT EXISTS hstore;'" | |
sudo su - postgres -c "psql template1 -p 5433 -c 'CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";'" | |
sudo su - postgres -c "service postgresql stop" | |
sudo su - postgres -c '/usr/lib/postgresql/9.3/bin/pg_upgrade -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.3/bin -d /var/lib/postgresql/9.1/main/ -D /var/lib/postgresql/9.3/main/ -O "-c config_file=/etc/postgresql/9.3/main/postgresql.conf" -o "-c config_file=/etc/postgresql/9.1/main/postgresql.conf"' | |
sudo apt-get remove postgresql-9.1 -y | |
sudo sed -i "s:5433:5432:g" /etc/postgresql/9.3/main/postgresql.conf | |
sudo service postgresql restart |
I found that this command has error.
sudo su - postgres -c '/usr/lib/postgresql/9.3/bin/pg_upgrade -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.3/bin -d /var/lib/postgresql/9.1/main/ -D /var/lib/postgresql/9.3/main/ -O "-c config_file=/etc/postgresql/9.3/main/postgresql.conf" -o "-c config_file=/etc/postgresql/9.1/main/postgresql.conf"'
because it tries to run:
"/usr/lib/postgresql/9.3/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/postgresql/9.3/main/" -o "-p 50432 -b -c autovacuum_multixact_freeze_max_age=2000000000 -c synchronous_commit=off -c fsync=off -c full_page_writes=off-c config_file=/etc/postgresql/9.3/main/postgresql.conf -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgresql'" start
You can see this error in log:
waiting for server to start....FATAL: parameter "full_page_writes" requires a Boolean value
Therefore I updated it to be like this:
sudo su - postgres -c '/usr/lib/postgresql/9.3/bin/pg_upgrade -b /usr/lib/postgresql/9.1/bin -B /usr/lib/postgresql/9.3/bin -d /var/lib/postgresql/9.1/main/ -D /var/lib/postgresql/9.3/main/ -O " -c config_file=/etc/postgresql/9.3/main/postgresql.conf" -o " -c config_file=/etc/postgresql/9.1/main/postgresql.conf"'
Cool! Thanks!
I lost my data -_-
good ! thnks @ibussieres and @pinglamb
Yes, thank you @ibussieres and @pinglamb... ran into the same issue and the updated command resolved it!
Only the install user can be defined in the new cluster
Failure, exiting
9.2 to 9.4
how to fix ?
Thanks to @ibussieres for the script and @pinglamb for the fix.
Awesome! Helped me to upgrade from 9.2 to 9.3
supercool !
Amazing! Helped me to upgrade from 9.2 to 9.3
Worked for me :)
I tried it to upgrade 9.3 to 9.6, and it worked! Thanks.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome ...It worked Great !