Skip to main content

Configure Primary for Replication

Aa ek task - primary server ma replication set karva mate, Aapde have 4 sub tasks karva padse.

  1. change postgresql.conf ane aema networking ne enable karvu jose.
  2. ek replication user create karvo padse. (best practice)
  3. pg_hba.conf ma remote access allow karvu padse.
  4. primary server ne restart marvu jose.

1) postgresql.conf file ne change kari ne network enable karo.​

aa postgresql.conf file aapdi choosen directory ma find kari sakie, aapda case ma aa rehse /tmp/primary_db/

aa file ne nano ni madad thi open kari lo.

cd /tmp/primary_db/
nano postgresql.conf

have aapde ek parameter ni value change karvi padse jenu name 6e, listen_addresses possible 6e k aa parameter commented hoi, to aene pehla uncomment karo and then value tarike '*' set karo.

by default, PostgreSQL matra localhost nej listen kare 6e. Remote access allowed nathi by default for security reasons. jethi karine aapde

kem k aapde same server maaj biju cluster banavsu, to anu port number conflict no thai aetle post number bhi change karsu.

listen_addresses = '*'
port = 5433

file ne save karo and then have database ne start karva mate, aapde pg_ctl command no use kari sakie 6ie.

pg_ctl -D /tmp/primary_db start

in case jo kai log file mate permission ni error aave to chown ni madad thi ae log folder ma permission set kari do. ane fari thi try karo.

2) Replication user create karvo​

First, aapde default database ma connect thase called postgres

psql --port=5433 postgres

have aapde postgres na terminal ma aavi gaya 6ie. prefix ma aapde kaink aa rite jova maltu hoi 6e.

[local]:5433 postgres=#

have aapde replication user create karsu.

[local]:5433 postgres=# create user repuser replication;

ahi dhyaan rakhjo k application flag ne proper set karelu hoi. aapde password ne bhi set kari sakie 6ie.

Ahi basic usecase aej 6e k admin user na transaction logs ne primary to replica ma set karva.

3) Remote access allow karvu with security​

Have aapde set karu k kon remotely access kari sake and kya IP address ni madad thi?

aena mate ni configuration file 6e pg_hba.conf. ahi hba nu full form thai 6e Host-Based Authentication.

aa file ne nano ni madad thi open karo

cd /tmp/primary_db
nano pg_hba.conf

ahi ipv4 ma ek new entry ne add karo.

host   all   repuser   127.0.0.1/32   trust

4) Restart primary server​

kem k aapde postgresql.conf ma change karelu 6e aetle aapde server ne restart karvu jaruri 6e. jo matra pg_hba.conf file maaj change karya hot to, simple reload karie to chale.

to restart karva mate,

pg_ctl -D /tmp/primary_db restart

Aapdu primary system have ready thai gayu 6e. have aapde replica system par focus kari sakay.

Summary​

Jo thoda confused 6o k postgresql.conf ma aapde listen_addresses = '*' karyu and pg_hba.conf ma aapde record ni entry kari to aa banne vacche su kar 6e?

to tuk ma, postgresql.conf file ma listen_addresses = '*' ae ek prakare badha port ne open karse request access karva mate pan ae authorize nathi kartu.

pg_hba.conf ma add karel record ae authorize karse k kon connect kari sake, kya IP par thi, kya database ne ane kya authentication thi access kari sake.

kem k aapde replication par practice karie 6ie aetle aapde security reason thi ek new user j create karsu. aa user j replica streaming karse. jethi aa user mate j aapde pg_hba.conf file ma record set karyo.

last ma aapde postgresql.conf file ma change karya aetle aapde server ne restart karvu padyu. to aena mate simple

pg_ctl -D /tmp/primary_db restart