Ceci est une ancienne révision du document !
Installation de Postgres 9.0
Cette doc est succinte !
Pour plus de détails, voir les articles de Guillaume, notamment : Installation de Postgres
Compilation
Même procédure sur Babar et Dumbo
sudo aptitude install make libreadline-dev cd /home/damien/ wget http://wwwmaster.postgresql.org/redir/357/f/source/v9.0beta3/postgresql-9.0beta3.tar.gz tar xzvf postgresql-9.0beta3.tar.gz cd postgresql-9.0beta3/ ./configure make sudo make install sudo su - postgres cd /var/lib/postgresql/ mkdir 9.0 /usr/local/pgsql/bin/initdb -D /var/lib/postgresql/9.0/
Avant de démarrer le serveur, on modifie port sur 5433 dans postgresql.conf
vi postgresql.conf
Puis on met en place le script de démarrage. Ne pas oublier de modifier la paramètre PGDATA !
sudo cp /home/damien/postgresql-9.0beta3/contrib/start-script/linux /etc/init.d/postgresql-9.0 sudo vi /etc/init.d/postgresql-9.0 sudo chmod a+x /etc/init.d/postgresql-9.0 sudo update-rc.d postgresql-9.0 defaults
Smoke test
sudo /etc/init.d/postgresql-9.0 start sudo su - postgres /usr/local/pgsql/bin/psql -h 127.0.0.1 -p 5433
Configuration du Hot Standby
sur Dumbo :
sudo passwd postgres sudo su - postgres mkdir -p /var/lib/postgresql/babar_wals
sudo Babar :
sudo su - postgres ssh-keygen ssh-copy-id postgres@dumbo.postgresql.fr touch /tmp/tst scp /tmp/tst postgres@dumbo.postgresql.fr:/var/lib/postgresql/babar_wals
Modification dans le postgresql.conf de Babar
wal_level = hot_standby archive_mode = on archive_command = 'scp $p postgres@dumbo.postgresql.fr:/var/lib/postgresql/babar_wals/%f'
puis redémmarage du serveur PG sur Babar
sudo /etc/init.d/postgresql-9.0 restart
Snapshot sur Babar
sudo su - postgres /usr/local/pgsql/bin/psql -h 127.0.0.1 -p 5433 -c "select pg_start_backup('init dumbo')" cp -pr /var/lib/postgresql/9.0 /var/lib/postgresql/9.0-dumbo /usr/local/pgsql/bin/psql -h 127.0.0.1 -p 5433 -c "select pg_stop_backup()"
Préparation et export du snapshot sur Babar
sudo su - postgres cd /var/lib/postgresql/9.0-dumbo rm postmaster.pid rm pg_xlog/* echo 'hot_standby = on' >> postgresql.conf echo "standby_mode = 'on'" >> recovery.conf echo "restore_command = 'cp -i /var/lib/postgresql/babar_wals/%f %p'" >> recovery.conf scp -pr /var/lib/postgresql/9.0-dumbo dumbo.postgresql.fr:/var/lib/postgresql/
Sur dumbo, on charge le snapshot et on démarre en mode recovery/standby
sudo /etc/init.d/postgresql-9.0 stop sudo mv /var/lib/postgresql/9.0 /var/lib/postgresql/9.0-orig sudo mv /var/lib/postgresql/9.0-dumbo/ /var/lib/postgresql/9.0 sudo /etc/init.d/postgresql-9.0 start
Au passage le shmmax de dumbo est trop bas pour la 9.0, on corrige :
sudo su - echo "kernel.shmmax=134217728" > /etc/sysctl.conf echo "kernel.shmall=2097152" > /etc/sysctl.conf sudo sysctl -p
Il ne reste plus qu'à tester sur Dumbo :
/usr/local/pgsql/bin/psql -h 127.0.0.1 -p 5433 -c "SELECT pg_is_in_recovery();"; pg_is_in_recovery ------------------- t (1 row)
Migration 8.3 -> 9.0
postgres=# SELECT pg_is_in_recovery(); pg_is_in_recovery
t (1 row)