Allora dopo tante ricerche e dopo averci sbattuto abbastanza il capo, sono riuscito a creare un sistema di replicazione con PgPool2 e PostgreSQL. Devo dire che il sistema funziona molto bene e avendo dato il load balance dei SELECT i carichi lavori risultano essere correttamente distribuiti. L’unica pecca di PgPool2 è che nella modalità replicazione non accetta da parte dei client le password in md5 ma solamente in cleartext.
Per prima cosa installiamo il PostgreSQL nei due server e creiamo un superutente pgpool con un sua password
Installiamo pgpool2 ed andiamo a configurare il file pgpool.conf ( nano /etc/pgpool.conf )
Andiamo a modificare le direttive:
listen_addresses = ‘127.0.0.1’ #indirizzo_ip_dove_ascoltare
port = 5433 #la porta dove ascoltare preferibilmente differente dalla porta di PostgreSQL 5432
replicate_select = true
replication_mode = true
fatto questo nel file inseriamo le direttive per la replicazione
# system DB info
system_db_hostname = ‘127.0.0.1’
system_db_port = 5432
system_db_dbname = ‘pgpool’
system_db_schema = ‘pgpool_catalog’
system_db_user = ‘pgpool’
system_db_password = ‘767d39dfd8d5f68fc30ffadb06749ae1’ #password in md5 del super utente creato prima
backend_hostname0 = ‘192.168.10.1’
backend_port0 = 5432
backend_weight0 = 1
backend_hostname1 = ‘192.168.10.2’
backend_port1 = 5432
backend_weight1 = 1
far partire pgpool2 e se tutto è stato configurato correttamente la replicazione dovrebbe partire.
Se avete dubbi e/o richieste lasciatemi un commento.