PostgreSQL La base de donnees la plus sophistiquee au monde.

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:installation_9.0 [2010/07/17 22:46] daamienadmin:installation_9.0 [2010/07/19 12:36] (Version actuelle) daamien
Ligne 4: Ligne 4:
 <note> <note>
 Cette doc est succinte !  Cette doc est succinte ! 
-Pour plus de détails, voir les articles de Guillaume, notamment : [[http://www.dalibo.org/hs44_installation_de_postgresql|Installation de Postgres]] +Pour plus de détails, voir les articles de Guillaume, notamment : [[http://www.dalibo.org/hs44_installation_de_postgresql|L'installation de PostgreSQL]] et [[http://www.dalibo.org/hs44_la_replication_par_les_journaux_de_transactions|La réplication par les journaux applicatifs]] 
 </note> </note>
 +
 +
 +===== Préambule =====
 +
 +On met ici en place une réplication "Hot Standby en Streaming" entre les deux serveurs de la plate-forme postgresql.fr 
 +
 +  * Babar : serveur principal : ip = 212.85.154.68 port = 5433
 +  * Dumbo : serveur secondaire (en mode standby) : ip = 212.85.154.69 port = 5433
  
 ===== Compilation ===== ===== Compilation =====
Ligne 27: Ligne 35:
  
 Avant de démarrer le serveur, on modifie port sur 5433 dans postgresql.conf Avant de démarrer le serveur, on modifie port sur 5433 dans postgresql.conf
-<code sh+<file
-vi postgresql.conf  +port 5433 
-</code>+</file>
  
 Puis on met en place le script de démarrage. Ne pas oublier de modifier la paramètre PGDATA ! Puis on met en place le script de démarrage. Ne pas oublier de modifier la paramètre PGDATA !
Ligne 66: Ligne 74:
 </code> </code>
  
-sudo Babar :+sur Babar, on ouvre une liaison ssh pour exporter les wals : 
 <code sh> <code sh>
 sudo su - postgres sudo su - postgres
Ligne 75: Ligne 84:
 </code> </code>
  
-Modification dans le postgresql.conf de Babar+Modification dans le postgresql.conf de Babar 
  
-<code sh>+<file>
 wal_level = hot_standby wal_level = hot_standby
 archive_mode = on archive_mode = on
-archive_command = 'scp $p postgres@dumbo.postgresql.fr:/var/lib/postgresql/babar_wals/%f' +archive_command = 'scp %p postgres@dumbo.postgresql.fr:/var/lib/postgresql/babar_wals/%f' 
-</code>+</file>
  
-puis redémmarage du serveur PG sur Babar+puis redémarrage du serveur PG sur Babar
  
 <code sh> <code sh>
Ligne 89: Ligne 98:
 </code> </code>
  
-Snapshot sur Babar+On fait un snapshot de la base sur Babar
  
 <code sh> <code sh>
Ligne 131: Ligne 140:
  
 </code> </code>
 +
 +===== Streaming Réplication =====
 +
 +Sur Babar, ouverture d'un accès vers la pseudo-base "replication" en provenance de Dumbo
 +
 +Dans postgresql.conf :
 +<file>
 +listen_addresses = '*'
 +</file>
 +
 +et dans pg_hba.conf :
 +<note warning>
 +Note pour le lecteur : Ceci est une installation de test, le serveur n'a pas vocation a détenir des données sensibles et la sécurité n'est pas un enjeu crucial. Si vous souhaitez utiliser le mode streaming en production, vous devez élever le niveau d'authenitification ( évitez trust ! ) et utiliser 
 +des adresses IP issues d'un réseau privé.
 +</note>
 +
 +<file>
 +host  replication  postgres  212.85.154.69/32  trust
 +</file>
 +
 +... puis redémarrage du serveur sur Babar
 +
 +
 +Attention ! Il faut également vérifier la conf [[iptables]] !
 +
 +Sur Dumbo, on teste avec l'option replication=1
 +
 +<code>
 +/usr/local/pgsql/bin/psql -h babar.postgresql.fr -p 5433 -U postgres replication=1
 +</code>
 +
 +Sur Babar, on configure le streaming des wals :
 +<file>
 +max_wal_senders = 5
 +wal_keep_segments = 32
 +</file>
 +
 +... et on redémarre le serveur
 +
 +
 +
 +Sur Dumbo, on complète le recovery.conf pour récupérer les transactions commitées en se connectant à Babar :
 +<file>
 +primary_conninfo      = 'host=212.85.154.68 port=5433 user=postgres'
 +trigger_file = '/var/lib/postgresql/9.0/failover.trigger'
 +</file>
 +
 +... et on redémarre le serveur
 +
 +Il ne reste plus qu'à tester :-)
 +
 +sur babar :
 +
 +<code>
 +$ /usr/local/pgsql/bin/psql -h 127.0.0.1 -p 5433 -c "SELECT pg_current_xlog_location()"
 + pg_current_xlog_location 
 +--------------------------
 + 0/12000BB8
 +(1 row)
 +</code>
 +
 +puis sur dumbo
 +
 +<code>
 +$ /usr/local/pgsql/bin/psql -h 127.0.0.1 -p 5433 -U postgres -c "SELECT pg_last_xlog_receive_location ()"
 + pg_last_xlog_receive_location 
 +--------------------------
 + 0/12000BB8
 +(1 row)
 +</code>
 +
 +
 +Pour transformer Dumbo en maitre en cas de crash de babar, taper la commande suivante sur dumbo:
 +
 +<code>
 +sudo su - postgres
 +touch /var/lib/postgresql/9.0/failover.trigger
 +</code>
 +
  
 ===== Migration 8.3 -> 9.0 ===== ===== Migration 8.3 -> 9.0 =====
 
admin/installation_9.0.1279399562.txt.gz · Dernière modification : 2010/07/17 22:46 de daamien