POSTGRESQL

De TwisterWiki

Réplication Master / Slave

Lexique

  • WAL
les WAL (Write-Ahead Logs) xlogs sont en fait les journaux de transactions (16 Mo par défaut), dans le cas d'une réplication ils sont transférés au slave.
  • wal_level définit le niveau de richesse des informations sauvegardées dans les WAL. Défini à hot_standby, il permettra au Slave de répondre aux requêtes en lecture seule.
  • hot_standby on/off
s'active sur le master et le slave mais n'est pris en compte que par le slave. En cas de bascule le master devenant slave il faut ce paramètre sur les 2 serveurs
  • wal_keep_segments
nombre de journaux de transaction a conserver, il faut en conserver suffisemment pour que le slave puisse les récupere en cas d'incident sur le salve

configuration sur le master et le slave

  • postgresql.conf
wal_level = hot_standby
max_wal_senders = 1
wal_keep_segments = 256
checkpoint_segments = 8
hot_standby = on

configuration sur le mastee

su - postgres psql -c "CREATE USER replication REPLICATION LOGIN CONNECTION LIMIT 1 ENCRYPTED PASSWORD 'motdepasse';"

configuration du slave

commandes utiles

  • réaliser un dump
pg_dump --table {ma-table} -U {user}  -f {mon-fichier-dump.sql}
  • Réaliser un dump avec 1 fichier par table
pg_dump --table {ma-table} -U {user} -Fd -f {dump_dir}
  • Importer une base ou un script sql
psql -d {ma-database} -f {mon-fichier-dump.sql}
  • Liste des requêtes en cours
SELECT datname,usename,procpid,client_addr,waiting,query_start,current_query FROM pg_stat_activity;
  • Liste des locks
select * from pg_locks;