Changes between Version 2 and Version 3 of Phase1_Scaling_Replication
- Timestamp:
- 03/01/26 01:12:13 (3 weeks ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Phase1_Scaling_Replication
v2 v3 26 26 image: postgres:18 27 27 container_name: postgres-primary 28 networks: 29 - anb_pgnet 28 30 restart: always 29 31 environment: … … 43 45 -c max_wal_senders=10 44 46 -c max_replication_slots=10 47 -c hot_standby=on 45 48 -c listen_addresses='*' 46 49 -c hba_file=/etc/postgresql/pg_hba.conf … … 48 51 volumes: 49 52 pg_primary_data: 53 54 networks: 55 anb_pgnet: 56 driver: bridge 57 ipam: 58 config: 59 - subnet: 172.19.0.0/16 50 60 }}} 51 61 … … 58 68 * hba_file - дефинира custom pg_hba.conf конфигурација за контролирање на пристапот. 59 69 70 За да се обезбеди детерминистичко IP адресирање, дефинирана е фиксна Docker bridge мрежа со subnet 172.19.0.0/16. 71 60 72 == Конфигурација на pg_hba.conf (hba_file) 61 73 62 74 За да може standby серверот да се поврзе кон примарниот сервер и да прима WAL записи, потребно е да се дозволи replication конекција во pg_hba.conf: 63 75 64 {{{ 76 {{{ 65 77 # TYPE DATABASE USER ADDRESS METHOD 66 host replication replicator 192.168.1.103/32 scram-sha-256 67 }}} 78 host replication replicator 172.19.0.1/32 scram-sha-256 79 local all all trust 80 }}} 81 68 82 69 83 * host - правилото се однесува на TCP/IP конекции. 70 84 * replication - правилото важи за replication конекции, а не за нормален пристап до база. 71 85 * replicator - корисникот кој има REPLICATION привилегија. 72 * 192.168.1.103/32 - IP адресата на standby серверот /32 значи дека е дозволена само таа конкретна машина. 73 * scram-sha-256 - означува дека конекцијата се автентицира со лозинка користејќи SCRAM (Salted Challenge Response Authentication Mechanism) базиран на SHA-256 алгоритам. Лозинката не се испраќа во чист текст, туку се користи криптографски challenge–response механизам. 86 * 172.19.0.1/32 - ја претставува Docker gateway адресата преку која пристигнува replication конекцијата. Маската /32 означува дека е дозволена точно една IP адреса. 87 * scram-sha-256 - означува дека конекцијата се автентицира со лозинка користејќи SCRAM (Salted Challenge Response Authentication Mechanism) базиран на SHA-256 алгоритам. 88 89 Бидејќи примарниот сервер работи во Docker контејнер, standby серверот не се појавува со својата реална LAN IP адреса (192.168.1.103). Docker користи bridge networking и NAT механизам, при што конекцијата кон контејнерот се појавува од Docker gateway адресата 172.19.0.1. 90 91 Поради тоа, replication пристапот е ограничен исклучиво на gateway адресата (172.19.0.1/32), со што се обезбедува минимален и контролиран пристап до replication функционалноста. 92 93 Дополнително, за локални Unix socket конекции во контејнерот потребно е: 94 95 {{{ local all all trust }}} 74 96 75 97
