Skip to content

Instantly share code, notes, and snippets.

@ermolaev
Last active January 13, 2019 17:49
Show Gist options
  • Save ermolaev/cbe2ebb7ddc3451a5e96 to your computer and use it in GitHub Desktop.
Save ermolaev/cbe2ebb7ddc3451a5e96 to your computer and use it in GitHub Desktop.
Upgrade postgresql 9.3 -> 9.4
# сделать бэкап
pg_dump -U postgres -h localhost -Fc gp > gp.dump
# pg_restore -U postgres -h localhost -j $(nproc) -Fc -d gp gp.dump # на экстренный случай
sudo apt-get install postgresql-9.6 postgresql-contrib-9.6 postgresql-server-dev-9.6
# sudo apt-get install postgresql-9.6-postgis-2.3 или aptitude install
# sudo apt-get install postgresql-plr-9.6
# postgresql-server-dev-9.6 нужен для компилирования postgis
sudo cp /etc/postgresql/9.5/main/pg_hba.conf /etc/postgresql/9.6/main/pg_hba.conf
sudo cp /etc/postgresql/9.5/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf
sudo vim /etc/postgresql/9.5/main/postgresql.conf # меняем порт на +1
sudo sed -i -e 's/9.5/9.6/g' /etc/postgresql/9.6/main/postgresql.conf
# удаляем development (staging) базу данных, чтобы не делать её upgrade
echo "drop database gp_development" | sudo -u postgres psql
sudo /etc/init.d/postgresql stop
cd /tmp
sudo -H -u postgres /usr/lib/postgresql/9.6/bin/pg_upgrade \
-b /usr/lib/postgresql/9.5/bin \
-B /usr/lib/postgresql/9.6/bin \
-d /var/lib/postgresql/9.5/main \
-D /var/lib/postgresql/9.6/main \
-o ' -c config_file=/etc/postgresql/9.5/main/postgresql.conf' \
-O ' -c config_file=/etc/postgresql/9.6/main/postgresql.conf'
sudo /etc/init.d/postgresql start
sudo apt-get purge postgresql-9.5
sudo rm -rf /var/lib/postgresql/9.5
sudo rm -rf /etc/postgresql/9.5
sudo rm -rf /var/run/postgresql/ если не подимался postgresql
dpkg -l | grep postgresql
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment