">

Postgresql Kendi Üzerinde Replication Kurulumu

Postgresql Kendi Üzerinde Replication Kurulumu

Merhaba,

Postgresql veritabanımızın kendi üzerindeçalışacak bir replication yapmak, buna neden ihtiyaç duyarız? ne işimize yarar derseniz, development ortamında yapılan yanlışları 2 saat geriden gelen bir replica hataları kurtarmamıza neden olur.

Sunucuda postgres kullanıcısına geçiilir

  • su - postgres
  • psql

Aşağıdaki komut ile slot oluşturulur bu slot sayesinde kaldığı yerden replicayı devam etirebiliriz.

  • select pg_create_physical_replication_slot('local_replica');
Sonrasında Aşağıdaki komut ile replica veritaabanımızın oluşturuyoruz.
  • mkdir -P var/lib/pgsql/12/replica
  • pg_basebackup --pgdata=/var/lib/pgsql/12/replica --slot=local_replica --verbose --progress --wal-method=stream --write-recovery-conf --checkpoint=fast
Aşağıdaki komut ile kontrol edilir.
  • vim /db/11/replica/postgresql.auto.conf
  • Çıktısı

archive_mode = 'on'

primary_conninfo = 'user=postgres passfile=''/var/lib/pgsql/.pgpass'' port=5432 sslmode=prefer sslcompression=0 gssencmode=prefer krbsrvname

=postgres target_session_attrs=any'

primary_slot_name = 'local_replica'

Aşağıdaki dosya içerisndeki port değiştirilir 

  • vim /db/11/replica/postgresql.conf
    port = 5433
 
Son olarak Replica veri tabanı başlatılır
  • /usr/pgsql-12/bin/pg_ctl start -D /var/lib/pgsql/12/replica/
 
Servisleri kontol ettiğimizde hem master hem slave ayakta,(kırmızıya boyadım)
 
[root@postgres system]# ps -ef | grep postgres
avahi     5643     1  0 Dec10 ?        00:00:01 avahi-daemon: running [postgres.local]
root     15056     1  0 10:12 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/postgres.pid
mysql    15202 15056  0 10:12 ?        00:00:22 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/postgres.err --pid-file=/var/lib/mysql/postgres.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root     37536 54750  0 16:27 pts/1    00:00:00 su - postgres
postgres 37537 37536  0 16:27 pts/1    00:00:00 -bash
postgres 38292     1  0 16:38 ?        00:00:00 /usr/pgsql-12/bin/postgres -D /var/lib/pgsql/12/replica
postgres 38293 38292  0 16:38 ?        00:00:00 postgres: logger   
postgres 38294 38292  0 16:38 ?        00:00:00 postgres: startup   recovering 000000050000000000000032
postgres 38295 38292  0 16:38 ?        00:00:00 postgres: checkpointer   
postgres 38296 38292  0 16:38 ?        00:00:00 postgres: background writer   
postgres 38297 38292  0 16:38 ?        00:00:00 postgres: stats collector   
postgres 38298 38292  0 16:38 ?        00:00:00 postgres: walreceiver   streaming 0/32036318
postgres 38299 64071  0 16:38 ?        00:00:00 postgres: walsender postgres [local] streaming 0/32036318
postgres 38420 37537  0 16:39 pts/1    00:00:00 psql
postgres 38421 64071  0 16:39 ?        00:00:00 postgres: postgres postgres [local] idle
root     38865 38628  0 16:47 pts/0    00:00:00 grep --color=auto postgres
root     55310 55259  0 06:02 pts/2    00:00:00 su - postgres
postgres 55311 55310  0 06:02 pts/2    00:00:00 -bash
postgres 64071     1  0 08:38 ?        00:00:01 /usr/pgsql-12/bin/postmaster -D /var/lib/pgsql/12/data/
postgres 64073 64071  0 08:38 ?        00:00:00 postgres: logger   
postgres 64075 64071  0 08:38 ?        00:00:00 postgres: checkpointer   
postgres 64076 64071  0 08:38 ?        00:00:00 postgres: background writer   
postgres 64077 64071  0 08:38 ?        00:00:00 postgres: walwriter   
postgres 64078 64071  0 08:38 ?        00:00:00 postgres: autovacuum launcher   
postgres 64079 64071  0 08:38 ?        00:00:00 postgres: archiver   
postgres 64080 64071  0 08:38 ?        00:00:01 postgres: stats collector   
postgres 64081 64071  0 08:38 ?        00:00:00 postgres: logical replication launcher   
 
Umarım Faydalı olmuştur...

 

Yorumlar

Henüz yorum yapılmadı.

Yorum Yapın