{"id":30943,"date":"2025-10-03T20:31:38","date_gmt":"2025-10-03T17:31:38","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/"},"modified":"2025-10-03T20:31:38","modified_gmt":"2025-10-03T17:31:38","slug":"no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/","title":{"rendered":"&#8216;no pg_hba.conf entry for host&#8217; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?"},"content":{"rendered":"<div class=\"article-container\">\n<style>\n    \/* Temel Stil Ayarlar\u0131 *\/\n    body {\n      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n      line-height: 1.6;\n      color: #333;\n      margin: 0 auto;\n      padding: 20px;\n      background-color: #f4f7f6;\n      max-width: 1200px;\n    }<\/p>\n<p>    h2, h3 {\n      color: #2c3e50;\n      margin-top: 30px;\n      margin-bottom: 15px;\n      border-bottom: 2px solid #e0e0e0;\n      padding-bottom: 5px;\n    }<\/p>\n<p>    h2 {\n      font-size: 2.2em;\n      font-weight: 600;\n    }<\/p>\n<p>    h3 {\n      font-size: 1.8em;\n      font-weight: 500;\n      color: #34495e;\n    }<\/p>\n<p>    p {\n      margin-bottom: 1em;\n      text-align: justify;\n    }<\/p>\n<p>    ul, ol {\n      margin-bottom: 1em;\n      padding-left: 25px;\n    }<\/p>\n<p>    li {\n      margin-bottom: 0.5em;\n    }<\/p>\n<p>    a {\n      color: #3498db;\n      text-decoration: none;\n    }<\/p>\n<p>    a:hover {\n      text-decoration: underline;\n    }<\/p>\n<p>    pre {\n      background-color: #2d2d2d;\n      color: #f8f8f2;\n      padding: 15px;\n      border-radius: 8px;\n      overflow-x: auto;\n      font-family: 'Consolas', 'Monaco', 'Andale Mono', 'Ubuntu Mono', monospace;\n      font-size: 0.9em;\n      margin-bottom: 1.5em;\n    }<\/p>\n<p>    code {\n      background-color: #eee;\n      padding: 2px 4px;\n      border-radius: 4px;\n      font-family: 'Consolas', 'Monaco', 'Andale Mono', 'Ubuntu Mono', monospace;\n      font-size: 0.9em;\n      color: #c7254e;\n    }<\/p>\n<p>    pre code {\n      background-color: transparent;\n      padding: 0;\n      color: #f8f8f2;\n    }<\/p>\n<p>    .tip-box {\n      background-color: #e8f5e9;\n      border-left: 5px solid #4CAF50;\n      padding: 15px;\n      margin: 20px 0;\n      border-radius: 8px;\n      color: #388e3c;\n    }<\/p>\n<p>    .tip-box p {\n      margin: 0;\n    }<\/p>\n<p>    .warning-box {\n      background-color: #ffebee;\n      border-left: 5px solid #f44336;\n      padding: 15px;\n      margin: 20px 0;\n      border-radius: 8px;\n      color: #d32f2f;\n    }<\/p>\n<p>    .warning-box p {\n      margin: 0;\n    }<\/p>\n<p>    table {\n      width: 100%;\n      border-collapse: collapse;\n      margin: 20px 0;\n    }<\/p>\n<p>    th, td {\n      border: 1px solid #ddd;\n      padding: 10px;\n      text-align: left;\n    }<\/p>\n<p>    th {\n      background-color: #f2f2f2;\n      font-weight: bold;\n    }<\/p>\n<p>    \/* Mobil Uyumlu Tasar\u0131m *\/\n    @media screen and (max-width: 768px) {\n      body {\n        padding: 15px;\n      }<\/p>\n<p>      h2 {\n        font-size: 1.8em;\n      }<\/p>\n<p>      h3 {\n        font-size: 1.5em;\n      }<\/p>\n<p>      pre {\n        font-size: 0.8em;\n        padding: 10px;\n      }<\/p>\n<p>      table {\n        display: block;\n        overflow-x: auto;\n        white-space: nowrap;\n      }<\/p>\n<p>      th, td {\n        min-width: 120px;\n      }\n    }<\/p>\n<p>    @media screen and (max-width: 480px) {\n      body {\n        padding: 10px;\n      }<\/p>\n<p>      h2 {\n        font-size: 1.5em;\n      }<\/p>\n<p>      h3 {\n        font-size: 1.2em;\n      }\n    }\n  <\/style>\n<p>Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z &#8216;no pg_hba.conf entry for host&#8217; hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana&#8217;n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.<\/p>\n<p>Grafana gibi bir uygulama ile PostgreSQL veri taban\u0131 aras\u0131nda ba\u011flant\u0131 kurmaya \u00e7al\u0131\u015f\u0131rken &#8216;no pg_hba.conf entry for host &#8220;X.X.X.X&#8221;, user &#8220;kullanici&#8221;, database &#8220;veritabani&#8221;, no encryption&#8217; \u015feklinde bir hata mesaj\u0131 ile kar\u015f\u0131la\u015fmak olduk\u00e7a yayg\u0131n bir durumdur. Bu hata, genellikle yeni bir kurulumda veya a\u011f yap\u0131land\u0131rmas\u0131nda yap\u0131lan de\u011fi\u015fiklikler sonras\u0131nda ortaya \u00e7\u0131kar. Peki, bu hata mesaj\u0131 bize tam olarak ne anlat\u0131yor ve neden b\u00f6yle bir durumla kar\u015f\u0131la\u015f\u0131yoruz?<\/p>\n<p>Temelde bu hata, PostgreSQL veri taban\u0131n\u0131z\u0131n, belirtilen IP adresinden (X.X.X.X) gelen ba\u011flant\u0131 iste\u011fini, belirtilen kullan\u0131c\u0131 (kullanici) ve veri taban\u0131 (veritabani) i\u00e7in kabul etmedi\u011fini ifade eder. PostgreSQL, g\u00fcvenlik odakl\u0131 bir veri taban\u0131 y\u00f6netim sistemidir ve d\u0131\u015far\u0131dan gelen ba\u011flant\u0131 isteklerini kabul etmek i\u00e7in belirli kurallara uymas\u0131n\u0131 bekler. Bu kurallar, veri taban\u0131 sunucusunun neresinden eri\u015filebilece\u011fini, hangi kullan\u0131c\u0131lar\u0131n hangi veri tabanlar\u0131na ba\u011flanabilece\u011fini ve bu ba\u011flant\u0131lar\u0131n nas\u0131l kimlik do\u011frulamas\u0131 yapaca\u011f\u0131n\u0131 belirler. Bu kurallar\u0131n t\u00fcm\u00fc, PostgreSQL&#8217;in ana yap\u0131land\u0131rma dosyalar\u0131ndan biri olan <code>pg_hba.conf<\/code> dosyas\u0131nda tan\u0131mlan\u0131r.<\/p>\n<p>Bu hata mesaj\u0131n\u0131n arkas\u0131nda yatan temel nedenler aras\u0131nda \u015funlar bulunmaktad\u0131r:<\/p>\n<ul>\n<li><strong>Yanl\u0131\u015f veya Eksik <code>pg_hba.conf<\/code> Yap\u0131land\u0131rmas\u0131:<\/strong> En s\u0131k kar\u015f\u0131la\u015f\u0131lan neden budur. Grafana sunucusunun IP adresi veya a\u011f aral\u0131\u011f\u0131, <code>pg_hba.conf<\/code> dosyas\u0131nda do\u011fru bir \u015fekilde tan\u0131mlanmam\u0131\u015f olabilir. Ya da tan\u0131mlanm\u0131\u015f olsa bile, kullan\u0131c\u0131, veri taban\u0131 veya kimlik do\u011frulama y\u00f6ntemi e\u015fle\u015fmiyor olabilir.<\/li>\n<li><strong>G\u00fcvenlik Duvar\u0131 (Firewall) Engeli:<\/strong> PostgreSQL sunucusunun \u00e7al\u0131\u015ft\u0131\u011f\u0131 makinede veya a\u011f\u0131n\u0131zdaki bir g\u00fcvenlik duvar\u0131, Grafana sunucusundan gelen ba\u011flant\u0131lar\u0131 engelliyor olabilir. Bu durumda, 5432 (varsay\u0131lan PostgreSQL portu) portunun a\u00e7\u0131k oldu\u011fundan emin olmal\u0131s\u0131n\u0131z.<\/li>\n<li><strong>Yanl\u0131\u015f Dinleme Adresi (<code>listen_addresses<\/code>):<\/strong> PostgreSQL sunucusu, varsay\u0131lan olarak yaln\u0131zca yerel ba\u011flant\u0131lar\u0131 kabul edecek \u015fekilde yap\u0131land\u0131r\u0131lm\u0131\u015f olabilir (<code>listen_addresses = 'localhost'<\/code>). E\u011fer Grafana farkl\u0131 bir sunucuda \u00e7al\u0131\u015f\u0131yorsa, PostgreSQL&#8217;in d\u0131\u015f ba\u011flant\u0131lar\u0131 dinlemesi gerekmektedir.<\/li>\n<li><strong>Yanl\u0131\u015f Kullan\u0131c\u0131 veya Veri taban\u0131 Ad\u0131:<\/strong> Grafana&#8217;da yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z kullan\u0131c\u0131 ad\u0131 veya veri taban\u0131 ad\u0131, PostgreSQL sunucusundakiyle e\u015fle\u015fmeyebilir. Bu durum da ba\u011flant\u0131 hatas\u0131na yol a\u00e7abilir, ancak hata mesaj\u0131 genellikle daha spesifik olacakt\u0131r (\u00f6rne\u011fin, &#8220;password authentication failed&#8221;). Ancak, <code>pg_hba.conf<\/code> dosyas\u0131ndaki e\u015fle\u015fme kurallar\u0131 yanl\u0131\u015fsa bu hata da bu kategoriye girebilir.<\/li>\n<li><strong>Sistem Gecikmeleri veya Yeniden Ba\u015flatma Eksikli\u011fi:<\/strong> <code>pg_hba.conf<\/code> dosyas\u0131nda yap\u0131lan de\u011fi\u015fikliklerin PostgreSQL taraf\u0131ndan alg\u0131lanabilmesi i\u00e7in veri taban\u0131 servisinin yeniden ba\u015flat\u0131lmas\u0131 veya yeniden y\u00fcklenmesi gerekir. Bu ad\u0131m\u0131 atlamak da hatan\u0131n devam etmesine neden olabilir.<\/li>\n<\/ul>\n<p>Bu hatay\u0131 gidermek i\u00e7in \u00f6ncelikle Grafana&#8217;n\u0131n PostgreSQL sunucusuna hangi IP adresinden ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve hangi kullan\u0131c\u0131\/veri taban\u0131 kombinasyonunu kulland\u0131\u011f\u0131n\u0131 net bir \u015fekilde anlaman\u0131z gerekir. Ard\u0131ndan, PostgreSQL sunucusunun yap\u0131land\u0131rma dosyalar\u0131n\u0131, \u00f6zellikle de <code>pg_hba.conf<\/code> dosyas\u0131n\u0131 bu bilgilere g\u00f6re d\u00fczenlemeniz gerekecektir. A\u015fa\u011f\u0131daki b\u00f6l\u00fcmlerde bu s\u00fcreci ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h2>PostgreSQL pg_hba.conf Dosyas\u0131n\u0131 Anlamak: Temeller ve G\u00fcvenlik<\/h2>\n<p><code>pg_hba.conf<\/code> dosyas\u0131, PostgreSQL&#8217;in istemci kimlik do\u011frulama yap\u0131land\u0131rma dosyas\u0131d\u0131r ve &#8220;host-based authentication&#8221; (ana bilgisayar tabanl\u0131 kimlik do\u011frulama) anlam\u0131na gelir. Bu dosya, veri taban\u0131n\u0131za kimin, nereden, hangi kullan\u0131c\u0131yla ve hangi kimlik do\u011frulama y\u00f6ntemiyle ba\u011flanabilece\u011fini belirleyen kurallar b\u00fct\u00fcn\u00fcd\u00fcr. Her bir kural, belirli bir ba\u011flant\u0131 t\u00fcr\u00fc, kullan\u0131c\u0131, veri taban\u0131 ve IP adresi kombinasyonu i\u00e7in ge\u00e7erlidir ve veri taban\u0131 sunucusuna gelen her ba\u011flant\u0131 iste\u011fi, bu kurallar listesi i\u00e7inde s\u0131ras\u0131yla kontrol edilir.<\/p>\n<p>Dosyadaki her bir sat\u0131r bir kural\u0131 temsil eder ve genellikle \u015fu formatta bulunur:<\/p>\n<pre><code class=\"language-plaintext\">\n# TYPE  DATABASE        USER            ADDRESS                 METHOD  [OPTIONS]\nhost    all             all             127.0.0.1\/32            md5\nhost    all             all             ::1\/128                 md5\nhost    mydb            myuser          192.168.1.100\/32        scram-sha-256\n  <\/pre>\n<p><\/code><\/p>\n<p>Bu s\u00fctunlar\u0131n her birinin \u00f6zel bir anlam\u0131 vard\u0131r:<\/p>\n<ul>\n<li><strong>TYPE:<\/strong> Ba\u011flant\u0131 t\u00fcr\u00fcn\u00fc belirtir. En yayg\u0131n olanlar\u0131 \u015funlard\u0131r:\n<ul>\n<li><code>local<\/code>: Unix domain socket ba\u011flant\u0131lar\u0131 (yaln\u0131zca yerel eri\u015fim).<\/li>\n<li><code>host<\/code>: TCP\/IP ba\u011flant\u0131lar\u0131. Hem IPv4 hem de IPv6 i\u00e7in kullan\u0131labilir.<\/li>\n<li><code>hostssl<\/code>: Yaln\u0131zca SSL\/TLS kullanan TCP\/IP ba\u011flant\u0131lar\u0131.<\/li>\n<li><code>hostnossl<\/code>: Yaln\u0131zca SSL\/TLS kullanmayan TCP\/IP ba\u011flant\u0131lar\u0131.<\/li>\n<\/ul>\n<\/li>\n<li><strong>DATABASE:<\/strong> Bu kural\u0131n ge\u00e7erli olaca\u011f\u0131 veri taban\u0131n\u0131 veya veri tabanlar\u0131n\u0131 belirtir.\n<ul>\n<li><code>all<\/code>: T\u00fcm veri tabanlar\u0131 i\u00e7in ge\u00e7erlidir.<\/li>\n<li><code>sameuser<\/code>: Kullan\u0131c\u0131 ad\u0131yla ayn\u0131 adl\u0131 veri tabanlar\u0131na ba\u011flant\u0131 kurar.<\/li>\n<li><code>samerole<\/code>: Kullan\u0131c\u0131 rol\u00fcyle ayn\u0131 adl\u0131 veri tabanlar\u0131na ba\u011flant\u0131 kurar.<\/li>\n<li>Belirli bir veri taban\u0131 ad\u0131 (\u00f6rne\u011fin, <code>grafanadb<\/code>).<\/li>\n<\/ul>\n<\/li>\n<li><strong>USER:<\/strong> Bu kural\u0131n ge\u00e7erli olaca\u011f\u0131 kullan\u0131c\u0131y\u0131 veya kullan\u0131c\u0131lar\u0131 belirtir.\n<ul>\n<li><code>all<\/code>: T\u00fcm kullan\u0131c\u0131lar i\u00e7in ge\u00e7erlidir.<\/li>\n<li>Belirli bir kullan\u0131c\u0131 ad\u0131 (\u00f6rne\u011fin, <code>grafanauser<\/code>).<\/li>\n<\/ul>\n<\/li>\n<li><strong>ADDRESS:<\/strong> Ba\u011flant\u0131 iste\u011finin geldi\u011fi IP adresini veya IP adresi aral\u0131\u011f\u0131n\u0131 belirtir. Bu, CIDR (Classless Inter-Domain Routing) g\u00f6sterimiyle yap\u0131l\u0131r (\u00f6rne\u011fin, <code>192.168.1.0\/24<\/code> t\u00fcm 192.168.1.x adreslerini kapsar).\n<ul>\n<li><code>127.0.0.1\/32<\/code> veya <code>::1\/128<\/code>: Sadece yerel ana bilgisayardan gelen ba\u011flant\u0131lar.<\/li>\n<li><code>0.0.0.0\/0<\/code>: T\u00fcm IPv4 adreslerinden gelen ba\u011flant\u0131lar (g\u00fcvenlik riski ta\u015f\u0131r, dikkatli kullan\u0131lmal\u0131).<\/li>\n<li><code>::\/0<\/code>: T\u00fcm IPv6 adreslerinden gelen ba\u011flant\u0131lar.<\/li>\n<\/ul>\n<\/li>\n<li><strong>METHOD:<\/strong> Kimlik do\u011frulama y\u00f6ntemini belirtir. En yayg\u0131n olanlar\u0131 \u015funlard\u0131r:\n<ul>\n<li><code>trust<\/code>: Ba\u011flant\u0131 kabul edilir ve kimlik do\u011frulamas\u0131 gerekmez (\u00e7ok g\u00fcvensiz, test ortamlar\u0131 d\u0131\u015f\u0131nda kullan\u0131lmamal\u0131).<\/li>\n<li><code>reject<\/code>: Ba\u011flant\u0131 reddedilir.<\/li>\n<li><code>md5<\/code>: \u015eifreler MD5 algoritmas\u0131 ile \u015fifrelenir (eski, yerine scram-sha-256 \u00f6nerilir).<\/li>\n<li><code>scram-sha-256<\/code>: SCRAM-SHA-256 kullanarak g\u00fcvenli \u015fifre kimlik do\u011frulamas\u0131 (\u00f6nerilen).<\/li>\n<li><code>password<\/code>: \u015eifreler clear-text (\u015fifresiz) olarak g\u00f6nderilir (g\u00fcvensiz).<\/li>\n<li><code>ident<\/code>: \u0130stemci i\u015fletim sistemi kullan\u0131c\u0131 ad\u0131n\u0131 kullan\u0131r.<\/li>\n<li><code>peer<\/code>: Yerel i\u015fletim sistemi kullan\u0131c\u0131 ad\u0131n\u0131 kullan\u0131r (Unix domain socket i\u00e7in).<\/li>\n<\/ul>\n<\/li>\n<li><strong>[OPTIONS]:<\/strong> Kimlik do\u011frulama y\u00f6ntemine \u00f6zg\u00fc ek se\u00e7enekler.<\/li>\n<\/ul>\n<div class=\"warning-box\">\n<p><strong>\u00d6nemli Uyar\u0131:<\/strong> <code>pg_hba.conf<\/code> dosyas\u0131nda yap\u0131lan hatal\u0131 yap\u0131land\u0131rmalar, veri taban\u0131n\u0131z\u0131n g\u00fcvenli\u011fini tehlikeye atabilir veya tamamen eri\u015filemez hale gelmesine neden olabilir. \u00d6zellikle <code>trust<\/code> y\u00f6ntemi ve geni\u015f IP aral\u0131klar\u0131 (<code>0.0.0.0\/0<\/code> gibi) kullan\u0131rken son derece dikkatli olunmal\u0131d\u0131r. En iyi uygulama, m\u00fcmk\u00fcn olan en dar IP aral\u0131\u011f\u0131n\u0131 ve en g\u00fcvenli kimlik do\u011frulama y\u00f6ntemini kullanmakt\u0131r.<\/p>\n<\/p><\/div>\n<p>Kurallar yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru i\u015flenir ve ilk e\u015fle\u015fen kural uygulan\u0131r. Bu, daha spesifik kurallar\u0131n (\u00f6rne\u011fin, belirli bir IP'den belirli bir kullan\u0131c\u0131 i\u00e7in) daha genel kurallardan (\u00f6rne\u011fin, herhangi bir IP'den herhangi bir kullan\u0131c\u0131 i\u00e7in) \u00f6nce gelmesi gerekti\u011fi anlam\u0131na gelir. Aksi takdirde, genel kural spesifik kural\u0131 ge\u00e7ersiz k\u0131labilir. Bu bilgiyi anlad\u0131ktan sonra, Grafana ba\u011flant\u0131 hatas\u0131n\u0131 \u00e7\u00f6zmek i\u00e7in gerekli ad\u0131mlara ge\u00e7ebiliriz.<\/p>\n<h2>Grafana'n\u0131n PostgreSQL'e Ba\u011flant\u0131 Hatas\u0131n\u0131 \u00c7\u00f6zme: Ad\u0131m Ad\u0131m Uygulama<\/h2>\n<p>Bu b\u00f6l\u00fcmde, 'no pg_hba.conf entry for host' hatas\u0131n\u0131 gidermek i\u00e7in izlemeniz gereken pratik ad\u0131mlar\u0131 ele alaca\u011f\u0131z. Bu ad\u0131mlar, sorunun kayna\u011f\u0131n\u0131 bulman\u0131za ve do\u011fru yap\u0131land\u0131rmay\u0131 uygulaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 1: Grafana Sunucusunun IP Adresini Belirleyin<\/h3>\n<p>\u0130lk olarak, Grafana uygulamas\u0131n\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun IP adresini \u00f6\u011frenmelisiniz. Bu, PostgreSQL sunucusunun hangi IP'den gelen ba\u011flant\u0131lar\u0131 kabul edece\u011fini bilmek i\u00e7in kritik \u00f6neme sahiptir. Grafana genellikle farkl\u0131 bir sunucuda veya bir konteyner i\u00e7inde \u00e7al\u0131\u015fabilir.<\/p>\n<pre><code class=\"language-bash\">\n# Linux sistemlerde\nip a\n\n# Ya da\nhostname -I\n  <\/pre>\n<p><\/code><\/p>\n<p>\u00c7\u0131kt\u0131da, Grafana'n\u0131n ba\u011fl\u0131 oldu\u011fu a\u011f aray\u00fcz\u00fcne ait IPv4 veya IPv6 adresini not edin. \u00d6rne\u011fin, <code>192.168.1.10<\/code> gibi bir adres.<\/p>\n<h3>Ad\u0131m 2: PostgreSQL Yap\u0131land\u0131rma Dosyalar\u0131n\u0131 Bulun<\/h3>\n<p><code>pg_hba.conf<\/code> ve <code>postgresql.conf<\/code> dosyalar\u0131n\u0131n konumu i\u015fletim sisteminize ve PostgreSQL s\u00fcr\u00fcm\u00fcn\u00fcze g\u00f6re de\u011fi\u015febilir. Yayg\u0131n konumlar \u015funlard\u0131r:<\/p>\n<ul>\n<li>Ubuntu\/Debian: <code>\/etc\/postgresql\/{s\u00fcr\u00fcm}\/main\/<\/code><\/li>\n<li>CentOS\/RHEL: <code>\/var\/lib\/pgsql\/{s\u00fcr\u00fcm}\/data\/<\/code> veya <code>\/etc\/pgsql\/{s\u00fcr\u00fcm}\/data\/<\/code><\/li>\n<\/ul>\n<p>Kesin konumu bulmak i\u00e7in <code>psql<\/code> komutunu kullanabilirsiniz (e\u011fer zaten sunucuya eri\u015febiliyorsan\u0131z):<\/p>\n<pre><code class=\"language-bash\">\nsudo -u postgres psql -c \"SHOW hba_file;\"\nsudo -u postgres psql -c \"SHOW config_file;\"\n  <\/pre>\n<p><\/code><\/p>\n<p>Bu komutlar size ilgili dosyalar\u0131n tam yolunu verecektir.<\/p>\n<h3>Ad\u0131m 3: <code>postgresql.conf<\/code> Dosyas\u0131n\u0131 D\u00fczenleyin (Gerekirse)<\/h3>\n<p>E\u011fer Grafana farkl\u0131 bir sunucuda \u00e7al\u0131\u015f\u0131yorsa, PostgreSQL'in d\u0131\u015f ba\u011flant\u0131lar\u0131 dinlemesi gerekir. Bunun i\u00e7in <code>postgresql.conf<\/code> dosyas\u0131nda <code>listen_addresses<\/code> parametresini d\u00fczenlemelisiniz.<\/p>\n<pre><code class=\"language-bash\">\nsudo nano \/path\/to\/postgresql.conf\n  <\/pre>\n<p><\/code><\/p>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulun ve d\u00fczenleyin:<\/p>\n<pre><code class=\"language-plaintext\">\n#listen_addresses = 'localhost'         # Varsay\u0131lan sadece yerel ba\u011flant\u0131lar\nlisten_addresses = '*'                  # T\u00fcm IP adreslerinden gelen ba\u011flant\u0131lar\u0131 dinle\n# Veya belirli bir IP adresini belirtin:\n#listen_addresses = '192.168.1.50'      # PostgreSQL sunucusunun kendi IP adresi\n  <\/pre>\n<p><\/code><\/p>\n<p><code>'*'<\/code> kullanmak t\u00fcm aray\u00fczlerden dinlemeyi sa\u011flar, ancak g\u00fcvenlik a\u00e7\u0131s\u0131ndan daha \u00e7ok sunucunun kendi IP adresini belirtmek tercih edilir. De\u011fi\u015fiklikleri kaydedip dosyadan \u00e7\u0131k\u0131n.<\/p>\n<div class=\"tip-box\">\n<p><strong>Uzman \u0130pucu:<\/strong> E\u011fer Grafana ve PostgreSQL ayn\u0131 sunucuda \u00e7al\u0131\u015f\u0131yorsa veya Docker gibi bir konteynerize ortamda ileti\u015fim kuruyorlarsa, <code>listen_addresses = 'localhost'<\/code> genellikle yeterli olabilir. Ancak farkl\u0131 makinelerdeyseler, mutlaka <code>'*'<\/code> veya PostgreSQL sunucusunun a\u011f aray\u00fcz\u00fc IP adresini kullanmal\u0131s\u0131n\u0131z.<\/p>\n<\/p><\/div>\n<h3>Ad\u0131m 4: <code>pg_hba.conf<\/code> Dosyas\u0131n\u0131 D\u00fczenleyin<\/h3>\n<p>\u015eimdi en kritik ad\u0131ma geldik. <code>pg_hba.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">\nsudo nano \/path\/to\/pg_hba.conf\n  <\/pre>\n<p><\/code><\/p>\n<p>Dosyan\u0131n sonuna, Grafana'n\u0131n IP adresine uygun yeni bir kural eklemelisiniz. Diyelim ki Grafana kullan\u0131c\u0131n\u0131z <code>grafana_user<\/code>, veri taban\u0131 ad\u0131n\u0131z <code>grafana_db<\/code> ve Grafana sunucusunun IP adresi <code>192.168.1.10<\/code>.<\/p>\n<pre><code class=\"language-plaintext\">\n# Grafana sunucusundan (192.168.1.10) gelen ba\u011flant\u0131lara izin ver\n# TYPE  DATABASE        USER            ADDRESS                 METHOD\nhost    grafana_db      grafana_user    192.168.1.10\/32         scram-sha-256\n  <\/pre>\n<p><\/code><\/p>\n<p>E\u011fer Grafana ayn\u0131 yerel a\u011fda bir dizi IP adresinden ba\u011flan\u0131yorsa, bir IP aral\u0131\u011f\u0131 belirtebilirsiniz. \u00d6rne\u011fin, <code>192.168.1.0\/24<\/code>, <code>192.168.1.x<\/code> a\u011f\u0131ndaki t\u00fcm cihazlar\u0131n ba\u011flanmas\u0131na izin verir.<\/p>\n<pre><code class=\"language-plaintext\">\n# Yerel a\u011fdaki t\u00fcm cihazlardan gelen Grafana ba\u011flant\u0131lar\u0131na izin ver\nhost    grafana_db      grafana_user    192.168.1.0\/24          scram-sha-256\n  <\/pre>\n<p><\/code><\/p>\n<p>E\u011fer Grafana konteynerize edilmi\u015f bir ortamda \u00e7al\u0131\u015f\u0131yorsa (\u00f6rne\u011fin Docker veya Kubernetes), genellikle Docker'\u0131n dahili a\u011f\u0131nda bir IP alacak ve bu IP'den PostgreSQL'e ba\u011flanmaya \u00e7al\u0131\u015facakt\u0131r. Bu durumda, Docker a\u011f\u0131 i\u00e7in uygun bir CIDR blo\u011fu (genellikle <code>172.17.0.0\/16<\/code> veya <code>172.18.0.0\/16<\/code> gibi) eklemeniz gerekebilir. E\u011fer emin de\u011filseniz, en genel yakla\u015f\u0131m olarak <code>0.0.0.0\/0<\/code> kullanmak yerine (g\u00fcvenlik riski!), sadece Grafana'n\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun kendi IP adresini kullanmay\u0131 deneyin veya bu IP'yi <code>pg_hba.conf<\/code> i\u00e7inde tan\u0131mlay\u0131n.<\/p>\n<p><code>scram-sha-256<\/code> modern ve g\u00fcvenli bir kimlik do\u011frulama y\u00f6ntemidir. Eski s\u00fcr\u00fcmlerde <code>md5<\/code> de kullan\u0131labilir, ancak \u00f6nerilmez.<\/p>\n<h3>Ad\u0131m 5: PostgreSQL Servisini Yeniden Ba\u015flat\u0131n<\/h3>\n<p>Yap\u0131land\u0131rma dosyalar\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin ge\u00e7erli olmas\u0131 i\u00e7in PostgreSQL servisini yeniden ba\u015flatmal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">\n# systemd kullanan sistemler (Ubuntu 16.04+, CentOS 7+)\nsudo systemctl restart postgresql\n\n# Eski sistemler (SysVinit)\nsudo service postgresql restart\n  <\/pre>\n<p><\/code><\/p>\n<p>PostgreSQL servisi yeniden ba\u015flad\u0131ktan sonra, Grafana'dan tekrar ba\u011flant\u0131 kurmay\u0131 deneyin. Hatas\u0131z bir \u015fekilde ba\u011flanabiliyor olman\u0131z gerekir.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryosu: Geli\u015ftirme Ortam\u0131nda Hata \u00c7\u00f6z\u00fcm\u00fc<\/h2>\n<p>Hayal edelim ki, yerel bir geli\u015ftirme ortam\u0131nda Docker kullanarak Grafana ve PostgreSQL kurdunuz. Grafana panellerinizi olu\u015fturmaya \u00e7al\u0131\u015f\u0131rken, aniden 'no pg_hba.conf entry for host \"172.17.0.3\", user \"grafana_user\", database \"grafana_db\"' hatas\u0131yla kar\u015f\u0131la\u015ft\u0131n\u0131z. Bu senaryoda ad\u0131mlar\u0131 nas\u0131l uygulayaca\u011f\u0131m\u0131z\u0131 inceleyelim:<\/p>\n<ol>\n<li><strong>Sorunu Te\u015fhis Etme:<\/strong> Hata mesaj\u0131 bize Grafana'n\u0131n <code>172.17.0.3<\/code> IP adresinden ba\u011flanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 s\u00f6yl\u00fcyor. Bu, Docker'\u0131n varsay\u0131lan bridge a\u011flar\u0131ndan birine ait bir IP adresidir. Kullan\u0131c\u0131 <code>grafana_user<\/code> ve veri taban\u0131 <code>grafana_db<\/code> olarak belirtilmi\u015f.<\/li>\n<li><strong>PostgreSQL Container Eri\u015fimi:<\/strong> \u0130lk olarak, PostgreSQL container'\u0131na eri\u015fmemiz gerekiyor.<\/li>\n<pre><code class=\"language-bash\">\ndocker ps  # PostgreSQL container ID'sini veya ad\u0131n\u0131 bulmak i\u00e7in\ndocker exec -it <postgresql_container_id_or_name> bash\n      <\/pre>\n<p><\/code><\/p>\n<li><strong><code>pg_hba.conf<\/code> Konumunu Bulma:<\/strong> Container i\u00e7inde <code>psql<\/code> komutunu kullanarak yap\u0131land\u0131rma dosyas\u0131n\u0131n yerini bulal\u0131m.<\/li>\n<pre><code class=\"language-bash\">\npsql -U postgres -c \"SHOW hba_file;\"\n# \u00c7\u0131kt\u0131 genellikle \/var\/lib\/postgresql\/data\/pg_hba.conf gibi bir \u015fey olacakt\u0131r.\n      <\/pre>\n<p><\/code><\/p>\n<li><strong><code>postgresql.conf<\/code> Kontrol\u00fc:<\/strong> Genellikle Docker ortam\u0131nda PostgreSQL container'lar\u0131 d\u0131\u015f ba\u011flant\u0131lara a\u00e7\u0131k olacak \u015fekilde yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r, ancak yine de kontrol etmekte fayda var.\n<pre><code class=\"language-bash\">\nnano \/var\/lib\/postgresql\/data\/postgresql.conf\n      <\/pre>\n<p><\/code><br \/>\n      <code>listen_addresses = '*'<\/code> veya container'\u0131n i\u00e7 IP adresini (genellikle <code>0.0.0.0<\/code> veya container IP'si) dinledi\u011finden emin olun.<\/li>\n<li><strong><code>pg_hba.conf<\/code> D\u00fczenlemesi:<\/strong> <code>pg_hba.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n.\n<pre><code class=\"language-bash\">\nnano \/var\/lib\/postgresql\/data\/pg_hba.conf\n      <\/pre>\n<p><\/code><br \/>\n      Dosyan\u0131n sonuna Grafana container'\u0131n\u0131n ba\u011fland\u0131\u011f\u0131 IP aral\u0131\u011f\u0131 i\u00e7in bir kural ekleyin. Docker bridge a\u011f\u0131 genellikle <code>172.17.0.0\/16<\/code> veya <code>172.18.0.0\/16<\/code> aral\u0131\u011f\u0131n\u0131 kullan\u0131r. E\u011fer hata mesaj\u0131nda spesifik olarak <code>172.17.0.3<\/code> g\u00f6r\u00fcyorsak, <code>172.17.0.0\/16<\/code> yeterli olacakt\u0131r.<\/p>\n<pre><code class=\"language-plaintext\">\n# Docker bridge a\u011f\u0131ndan gelen Grafana ba\u011flant\u0131lar\u0131na izin ver\nhost    grafana_db      grafana_user    172.17.0.0\/16           scram-sha-256\n      <\/pre>\n<p><\/code><br \/>\n      De\u011fi\u015fiklikleri kaydedip dosyadan \u00e7\u0131k\u0131n.<\/li>\n<li><strong>PostgreSQL Servisini Yeniden Ba\u015flatma:<\/strong> Docker container i\u00e7inde PostgreSQL servisini yeniden ba\u015flat\u0131n.\n<pre><code class=\"language-bash\">\npg_ctl restart -D \/var\/lib\/postgresql\/data\/\n# Veya baz\u0131 container'lar i\u00e7in:\n\/etc\/init.d\/postgresql restart\n# Veya en basit yol, container'\u0131 yeniden ba\u015flatmak (ana makineden):\nexit # container'dan \u00e7\u0131k\ndocker restart <postgresql_container_id_or_name>\n      <\/pre>\n<p><\/code><\/p>\n<li><strong>Ba\u011flant\u0131y\u0131 Test Etme:<\/strong> Grafana aray\u00fcz\u00fcne geri d\u00f6n\u00fcn ve veri kayna\u011f\u0131 ba\u011flant\u0131s\u0131n\u0131 test edin. Art\u0131k ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011flanabiliyor olmal\u0131s\u0131n\u0131z.<\/li>\n<\/ol>\n<p>Bu senaryo, hatan\u0131n temel nedenini anlaman\u0131n ve do\u011fru yap\u0131land\u0131rmay\u0131 uygulaman\u0131n ne kadar \u00f6nemli oldu\u011funu g\u00f6stermektedir. \u00d6zellikle konteynerize edilmi\u015f ortamlarda IP adreslerinin dinamik olabilece\u011fi veya farkl\u0131 a\u011f segmentlerinde yer alabilece\u011fi unutulmamal\u0131d\u0131r.<\/p>\n<h2>\u0130leri Seviye Yap\u0131land\u0131rma ve Performans \u0130pu\u00e7lar\u0131<\/h2>\n<p>Basit ba\u011flant\u0131 sorunlar\u0131n\u0131 \u00e7\u00f6zd\u00fckten sonra, Grafana ve PostgreSQL entegrasyonunuzu daha g\u00fcvenli ve performansl\u0131 hale getirmek i\u00e7in baz\u0131 ileri seviye ipu\u00e7lar\u0131n\u0131 de\u011ferlendirebilirsiniz.<\/p>\n<h3>SSL\/TLS Kullanarak \u015eifreli Ba\u011flant\u0131<\/h3>\n<p>Veri taban\u0131 ile Grafana aras\u0131ndaki ileti\u015fimi \u015fifrelemek, \u00f6zellikle hassas verilerle \u00e7al\u0131\u015f\u0131yorsan\u0131z veya halka a\u00e7\u0131k a\u011flar \u00fczerinden ba\u011flant\u0131 kuruyorsan\u0131z kritik \u00f6neme sahiptir. SSL\/TLS, ba\u011flant\u0131 verilerinizin merakl\u0131 g\u00f6zlerden korunmas\u0131n\u0131 sa\u011flar.<\/p>\n<ul>\n<li><strong>PostgreSQL Taraf\u0131nda SSL Etkinle\u015ftirme:<\/strong> <code>postgresql.conf<\/code> dosyas\u0131nda <code>ssl = on<\/code> ve uygun sertifika\/anahtar dosyalar\u0131n\u0131 (<code>ssl_cert_file<\/code>, <code>ssl_key_file<\/code>) yap\u0131land\u0131r\u0131n.<\/li>\n<li><strong><code>pg_hba.conf<\/code> Kural\u0131:<\/strong> <code>host<\/code> yerine <code>hostssl<\/code> kullanarak yaln\u0131zca SSL\/TLS \u00fczerinden gelen ba\u011flant\u0131lara izin verin.\n<pre><code class=\"language-plaintext\">\nhostssl    grafana_db      grafana_user    192.168.1.10\/32         scram-sha-256\n      <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>Grafana Taraf\u0131nda SSL Yap\u0131land\u0131rmas\u0131:<\/strong> Grafana veri kayna\u011f\u0131 ayarlar\u0131nda SSL mode'u (\u00f6rne\u011fin, <code>require<\/code>, <code>verify-ca<\/code>, <code>verify-full<\/code>) ve gerekli sertifikalar\u0131 (CA cert, Client cert, Client key) yap\u0131land\u0131r\u0131n. <code>verify-full<\/code> en g\u00fcvenli se\u00e7enektir.<\/li>\n<\/ul>\n<h3>Ba\u011flant\u0131 Havuzu (Connection Pooling) Kullan\u0131m\u0131<\/h3>\n<p>Grafana, panelleri yeniledik\u00e7e veya \u00e7ok say\u0131da kullan\u0131c\u0131 eri\u015fti\u011finde PostgreSQL'e s\u00fcrekli ba\u011flant\u0131 a\u00e7\u0131p kapatabilir. Bu durum, veri taban\u0131 sunucusu \u00fczerinde gereksiz y\u00fck olu\u015fturabilir. Bir ba\u011flant\u0131 havuzu (\u00f6rne\u011fin, PgBouncer veya Pgpool-II) kullanarak bu y\u00fck\u00fc hafifletebilirsiniz. Ba\u011flant\u0131 havuzu, mevcut ba\u011flant\u0131lar\u0131 yeniden kullan\u0131r ve veri taban\u0131 sunucusunun daha verimli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Grafana'y\u0131 do\u011frudan PostgreSQL yerine ba\u011flant\u0131 havuzuna ba\u011flars\u0131n\u0131z.<\/p>\n<h3>D\u00fc\u015f\u00fck Ayr\u0131cal\u0131kl\u0131 Kullan\u0131c\u0131 Kullan\u0131m\u0131<\/h3>\n<p>G\u00fcvenlik prensibi olarak, Grafana'n\u0131n PostgreSQL'e ba\u011flan\u0131rken m\u00fcmk\u00fcn olan en d\u00fc\u015f\u00fck ayr\u0131cal\u0131klara sahip bir kullan\u0131c\u0131 kullanmas\u0131 gerekir. Bu kullan\u0131c\u0131, Grafana'n\u0131n ihtiya\u00e7 duydu\u011fu panellerdeki verileri okuyabilir ancak veri taban\u0131 yap\u0131s\u0131n\u0131 de\u011fi\u015ftiremez, kritik ayarlar\u0131 yapamaz veya di\u011fer kullan\u0131c\u0131lar\u0131n verilerine eri\u015femez. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-sql\">\nCREATE USER grafana_user WITH PASSWORD 'guclu_sifre';\nGRANT CONNECT ON DATABASE grafana_db TO grafana_user;\nGRANT SELECT ON ALL TABLES IN SCHEMA public TO grafana_user;\nALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO grafana_user;\n  <\/pre>\n<p><\/code><\/p>\n<p>Bu, <code>grafana_user<\/code>'a yaln\u0131zca <code>grafana_db<\/code> i\u00e7indeki <code>public<\/code> \u015femas\u0131ndaki t\u00fcm tablolarda okuma izni verir.<\/p>\n<h3>Performans \u0130\u00e7in <code>postgresql.conf<\/code> Ayarlar\u0131<\/h3>\n<p>PostgreSQL'in genel performans\u0131n\u0131 art\u0131rmak i\u00e7in <code>postgresql.conf<\/code> dosyas\u0131ndaki baz\u0131 parametreleri optimize edebilirsiniz:<\/p>\n<ul>\n<li><code>shared_buffers<\/code>: Veri taban\u0131 taraf\u0131ndan kullan\u0131lan payla\u015f\u0131ml\u0131 bellek boyutu. RAM'inizin %25'i ila %40'\u0131 civar\u0131nda ayarlanmas\u0131 \u00f6nerilir.<\/li>\n<li><code>work_mem<\/code>: Her bir sorgu i\u015fleminde harcanan bellek miktar\u0131. B\u00fcy\u00fck sorgular ve s\u0131ralamalar i\u00e7in \u00f6nemlidir.<\/li>\n<li><code>maintenance_work_mem<\/code>: Vakumlama ve indeks olu\u015fturma gibi bak\u0131m i\u015flemleri i\u00e7in ayr\u0131lan bellek.<\/li>\n<li><code>max_connections<\/code>: Veri taban\u0131na izin verilen e\u015fzamanl\u0131 ba\u011flant\u0131 say\u0131s\u0131. Ba\u011flant\u0131 havuzu kullanm\u0131yorsan\u0131z, Grafana'n\u0131n ihtiya\u00e7 duydu\u011fundan daha fazlas\u0131na sahip oldu\u011funuzdan emin olun.<\/li>\n<\/ul>\n<p>Bu ayarlar sisteminizin RAM, CPU ve disk kapasitesine g\u00f6re optimize edilmelidir. Yanl\u0131\u015f ayarlar performans\u0131 d\u00fc\u015f\u00fcrebilir, bu y\u00fczden de\u011fi\u015fiklikleri yapmadan \u00f6nce dikkatli ara\u015ft\u0131rma yapmal\u0131 ve test etmelisiniz.<\/p>\n<h2>Grafana ve PostgreSQL Entegrasyonunda Dikkat Edilmesi Gerekenler<\/h2>\n<p>Grafana ve PostgreSQL entegrasyonunuzun sorunsuz ve g\u00fcvenli bir \u015fekilde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in baz\u0131 ek noktalara dikkat etmek \u00f6nemlidir.<\/p>\n<h3>G\u00fcnl\u00fckleri \u0130zleme (Logging)<\/h3>\n<p>Ba\u011flant\u0131 sorunlar\u0131 veya performans darbo\u011fazlar\u0131 ya\u015fad\u0131\u011f\u0131n\u0131zda, PostgreSQL ve Grafana'n\u0131n g\u00fcnl\u00fck dosyalar\u0131 (loglar) size paha bi\u00e7ilmez bilgiler sa\u011flayabilir. PostgreSQL'in g\u00fcnl\u00fck seviyesini (<code>log_min_messages<\/code>, <code>log_connections<\/code>, <code>log_disconnections<\/code>) art\u0131rarak daha detayl\u0131 bilgiler elde edebilirsiniz. Grafana'n\u0131n g\u00fcnl\u00fckleri de (genellikle <code>\/var\/log\/grafana\/grafana.log<\/code>) ba\u011flant\u0131 giri\u015fimleri ve hatalar\u0131 hakk\u0131nda bilgi i\u00e7erir.<\/p>\n<pre><code class=\"language-bash\">\n# PostgreSQL loglar\u0131n\u0131 g\u00f6r\u00fcnt\u00fcleme\nsudo journalctl -u postgresql\n\n# Grafana loglar\u0131n\u0131 g\u00f6r\u00fcnt\u00fcleme\nsudo journalctl -u grafana-server\n# Veya do\u011frudan log dosyas\u0131ndan\nsudo tail -f \/var\/log\/grafana\/grafana.log\n  <\/pre>\n<p><\/code><\/p>\n<h3>Yedekleme ve Kurtarma (Backup and Recovery)<\/h3>\n<p>PostgreSQL veri taban\u0131n\u0131zda Grafana metrikleri ve yap\u0131land\u0131rmas\u0131 gibi kritik veriler bar\u0131n\u0131yor olabilir. D\u00fczenli yedekleme stratejileri uygulamak, veri kayb\u0131 durumunda h\u0131zl\u0131 bir \u015fekilde kurtarma yapman\u0131z\u0131 sa\u011flar. <code>pg_dump<\/code> veya <code>pg_basebackup<\/code> gibi ara\u00e7lar kullanarak periyodik yedeklemeler almal\u0131s\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">\n# Belirli bir veri taban\u0131n\u0131 yedekleme\npg_dump -U postgres -d grafana_db > grafana_db_yedek.sql\n  <\/pre>\n<p><\/code><\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>PostgreSQL sunucusunun \u00e7al\u0131\u015ft\u0131\u011f\u0131 makinedeki g\u00fcvenlik duvar\u0131n\u0131n (\u00f6rne\u011fin <code>ufw<\/code>, <code>firewalld<\/code>, <code>iptables<\/code>) PostgreSQL'in varsay\u0131lan portu olan 5432'den gelen ba\u011flant\u0131lara izin verdi\u011finden emin olun. Aksi takdirde, <code>pg_hba.conf<\/code> dosyan\u0131z\u0131 ne kadar do\u011fru yap\u0131land\u0131r\u0131rsan\u0131z yap\u0131land\u0131r\u0131n, ba\u011flant\u0131 kurulamayacakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">\n# UFW (Ubuntu) i\u00e7in\nsudo ufw allow 5432\/tcp\n\n# firewalld (CentOS\/RHEL) i\u00e7in\nsudo firewall-cmd --permanent --add-port=5432\/tcp\nsudo firewall-cmd --reload\n  <\/pre>\n<p><\/code><\/p>\n<h3>Kullan\u0131c\u0131 Parolalar\u0131n\u0131n G\u00fcvenli\u011fi<\/h3>\n<p>PostgreSQL kullan\u0131c\u0131 parolalar\u0131n\u0131 daima g\u00fc\u00e7l\u00fc, karma\u015f\u0131k ve benzersiz karakterlerden olu\u015fturun. Parolalar\u0131 d\u00fczenli olarak de\u011fi\u015ftirin ve hi\u00e7bir zaman yap\u0131land\u0131rma dosyalar\u0131na a\u00e7\u0131k metin olarak kaydetmeyin (Grafana'da veri kayna\u011f\u0131 ayarlar\u0131nda \u015fifre g\u00fcvenli bir \u015fekilde saklan\u0131r). Kimlik do\u011frulama y\u00f6ntemi olarak <code>scram-sha-256<\/code> kullanmak, parola g\u00fcvenli\u011fini art\u0131rman\u0131n \u00f6nemli bir yoludur.<\/p>\n<h3>Versiyon Uyumlulu\u011fu<\/h3>\n<p>Grafana ve PostgreSQL'in farkl\u0131 versiyonlar\u0131 aras\u0131nda bazen uyumluluk sorunlar\u0131 ya\u015fanabilir. Her zaman kulland\u0131\u011f\u0131n\u0131z Grafana s\u00fcr\u00fcm\u00fcn\u00fcn, hedef PostgreSQL s\u00fcr\u00fcm\u00fcyle resmi olarak desteklendi\u011finden emin olmak i\u00e7in dok\u00fcmantasyonlar\u0131 kontrol edin. G\u00fcncel kalmak, hem g\u00fcvenlik hem de uyumluluk a\u00e7\u0131s\u0131ndan en iyi yakla\u015f\u0131md\u0131r.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>Grafana ve PostgreSQL aras\u0131ndaki 'no pg_hba.conf entry for host' hatas\u0131, ilk bak\u0131\u015fta karma\u015f\u0131k g\u00f6r\u00fcnse de, genellikle <code>pg_hba.conf<\/code> dosyas\u0131ndaki eksik veya yanl\u0131\u015f yap\u0131land\u0131rmadan kaynaklan\u0131r. Bu rehberde, hatan\u0131n nedenlerini, <code>pg_hba.conf<\/code> dosyas\u0131n\u0131n temel mant\u0131\u011f\u0131n\u0131 ve ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcm y\u00f6ntemlerini detayl\u0131ca inceledik. Ayr\u0131ca, bir ger\u00e7ek d\u00fcnya senaryosu \u00fczerinden konuyu peki\u015ftirdik ve ileri seviye yap\u0131land\u0131rma, g\u00fcvenlik ve performans ipu\u00e7lar\u0131yla entegrasyonunuzu daha sa\u011flam hale getirme yollar\u0131n\u0131 g\u00f6sterdik. Unutmay\u0131n, g\u00fcvenlik duvar\u0131 ayarlar\u0131, <code>listen_addresses<\/code> parametresi ve PostgreSQL servisinin yeniden ba\u015flat\u0131lmas\u0131 gibi ad\u0131mlar, ba\u011flant\u0131 sorunlar\u0131n\u0131 gidermede kilit rol oynar.<\/p>\n<p>Bu ad\u0131mlar\u0131 dikkatlice uygulayarak Grafana'n\u0131z\u0131n PostgreSQL veri taban\u0131na sorunsuz bir \u015fekilde ba\u011flanmas\u0131n\u0131 sa\u011flayabilir, b\u00f6ylece metriklerinizi izlemeye ve etkileyici paneller olu\u015fturmaya devam edebilirsiniz. Herhangi bir de\u011fi\u015fiklik yapmadan \u00f6nce daima mevcut yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131n yede\u011fini almay\u0131 unutmay\u0131n!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p><strong>1. <code>pg_hba.conf<\/code> dosyas\u0131nda birden fazla kural varsa hangisi uygulan\u0131r?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> PostgreSQL, <code>pg_hba.conf<\/code> dosyas\u0131ndaki kurallar\u0131 yukar\u0131dan a\u015fa\u011f\u0131ya do\u011fru s\u0131rayla okur ve gelen ba\u011flant\u0131 iste\u011fiyle e\u015fle\u015fen *ilk* kural\u0131 uygular. Bu nedenle, daha spesifik kurallar\u0131n (\u00f6rne\u011fin, belirli bir IP ve kullan\u0131c\u0131 i\u00e7in) daha genel kurallardan (\u00f6rne\u011fin, t\u00fcm IP'ler veya t\u00fcm kullan\u0131c\u0131lar i\u00e7in) \u00f6nce gelmesi \u00f6nemlidir. Aksi takdirde, genel bir kural daha spesifik bir kural\u0131n uygulanmas\u0131n\u0131 engelleyebilir.<\/p>\n<p><strong>2. <code>0.0.0.0\/0<\/code> veya <code>trust<\/code> kimlik do\u011frulama y\u00f6ntemini kullanmak ne kadar g\u00fcvenlidir?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> Hem <code>0.0.0.0\/0<\/code> (t\u00fcm IP adreslerinden ba\u011flant\u0131lara izin verme) hem de <code>trust<\/code> kimlik do\u011frulama y\u00f6ntemi (\u015fifre gerektirmeme) ciddi g\u00fcvenlik riskleri ta\u015f\u0131r. <code>0.0.0.0\/0<\/code> kullanmak, veri taban\u0131n\u0131z\u0131 internetten gelen t\u00fcm ba\u011flant\u0131lara a\u00e7\u0131k hale getirirken, <code>trust<\/code> kullanmak herkesin \u015fifre girmeden ba\u011flanmas\u0131na izin verir. Bu kombinasyonlar sadece kapal\u0131, izole test ortamlar\u0131nda veya \u00e7ok ge\u00e7ici durumlarda kullan\u0131lmal\u0131 ve \u00fcretim ortamlar\u0131nda kesinlikle ka\u00e7\u0131n\u0131lmal\u0131d\u0131r. Her zaman m\u00fcmk\u00fcn olan en dar IP aral\u0131\u011f\u0131n\u0131 ve <code>scram-sha-256<\/code> gibi g\u00fcvenli kimlik do\u011frulama y\u00f6ntemlerini tercih edin.<\/p>\n<p><strong>3. <code>pg_hba.conf<\/code> dosyas\u0131n\u0131 de\u011fi\u015ftirdikten sonra ne yapmam gerekiyor?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> <code>pg_hba.conf<\/code> dosyas\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin PostgreSQL taraf\u0131ndan uygulanabilmesi i\u00e7in veri taban\u0131 servisini yeniden ba\u015flatman\u0131z veya yeniden y\u00fcklemeniz gerekmektedir. \u00c7o\u011fu modern Linux sisteminde bu i\u015flemi <code>sudo systemctl restart postgresql<\/code> komutuyla yapabilirsiniz. Bu ad\u0131m\u0131 atlamak, yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin hi\u00e7bir etki g\u00f6stermemesine ve hatan\u0131n devam etmesine neden olur.<\/p>\n<p><strong>4. Grafana ve PostgreSQL ayn\u0131 Docker a\u011f\u0131 i\u00e7indeyse <code>pg_hba.conf<\/code> nas\u0131l ayarlanmal\u0131?<\/strong><\/p>\n<p><strong>Cevap:<\/strong> E\u011fer Grafana ve PostgreSQL ayn\u0131 Docker Compose dosyas\u0131 veya ayn\u0131 Docker a\u011f\u0131 i\u00e7inde \u00e7al\u0131\u015f\u0131yorsa, birbirlerine container adlar\u0131 \u00fczerinden eri\u015febilirler. Bu durumda, PostgreSQL container'\u0131n\u0131z\u0131n i\u00e7 a\u011f IP'sini veya Docker'\u0131n olu\u015fturdu\u011fu bridge a\u011f\u0131n\u0131n CIDR blo\u011funu (\u00f6rne\u011fin <code>172.17.0.0\/16<\/code> veya <code>172.18.0.0\/16<\/code>) <code>pg_hba.conf<\/code> dosyas\u0131nda belirtmeniz gerekir. Genellikle <code>host grafana_db grafana_user 172.17.0.0\/16 scram-sha-256<\/code> gibi bir kural i\u015f g\u00f6recektir. En kesin yol, hata mesaj\u0131ndaki kaynak IP adresini baz alarak uygun CIDR blo\u011funu belirlemektir.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z &#8216;no pg_hba.conf entry for host&#8217; hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-30943","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>&#039;no pg_hba.conf entry for host&#039; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?<\/title>\n<meta name=\"description\" content=\"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z &#039;no pg_hba.conf entry for host&#039; hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana&#039;n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"&#039;no pg_hba.conf entry for host&#039; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?\" \/>\n<meta property=\"og:description\" content=\"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z &#039;no pg_hba.conf entry for host&#039; hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana&#039;n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-03T17:31:38+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"&#8216;no pg_hba.conf entry for host&#8217; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?\",\"datePublished\":\"2025-10-03T17:31:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\"},\"wordCount\":3411,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\",\"name\":\"'no pg_hba.conf entry for host' Hatas\u0131 Neden Ortaya \u00c7\u0131kar?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-03T17:31:38+00:00\",\"description\":\"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z 'no pg_hba.conf entry for host' hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana'n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"&#8216;no pg_hba.conf entry for host&#8217; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"'no pg_hba.conf entry for host' Hatas\u0131 Neden Ortaya \u00c7\u0131kar?","description":"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z 'no pg_hba.conf entry for host' hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana'n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.","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:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/","og_locale":"tr_TR","og_type":"article","og_title":"'no pg_hba.conf entry for host' Hatas\u0131 Neden Ortaya \u00c7\u0131kar?","og_description":"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z 'no pg_hba.conf entry for host' hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana'n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.","og_url":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-03T17:31:38+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"20 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"&#8216;no pg_hba.conf entry for host&#8217; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?","datePublished":"2025-10-03T17:31:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/"},"wordCount":3411,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/","url":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/","name":"'no pg_hba.conf entry for host' Hatas\u0131 Neden Ortaya \u00c7\u0131kar?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-03T17:31:38+00:00","description":"Grafana ile PostgreSQL ba\u011flant\u0131s\u0131nda kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z 'no pg_hba.conf entry for host' hatas\u0131 sizi durma noktas\u0131na m\u0131 getiriyor? Bu kapsaml\u0131 rehberde, bu yayg\u0131n hatan\u0131n nedenlerini, temelinde yatan g\u00fcvenlik prensiplerini ve Grafana'n\u0131z\u0131n veri taban\u0131na sorunsuz ba\u011flanmas\u0131 i\u00e7in ad\u0131m ad\u0131m \u00e7\u00f6z\u00fcmlerini bulacaks\u0131n\u0131z. \u0130ster yeni ba\u015flayan ister deneyimli bir kullan\u0131c\u0131 olun, bu makale Grafana ve PostgreSQL aras\u0131ndaki ba\u011flant\u0131 sorunlar\u0131n\u0131 kal\u0131c\u0131 olarak gidermenize yard\u0131mc\u0131 olacak pratik bilgiler sunuyor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/no-pg_hba-conf-entry-for-host-hatasi-neden-ortaya-cikar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"&#8216;no pg_hba.conf entry for host&#8217; Hatas\u0131 Neden Ortaya \u00c7\u0131kar?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30943","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=30943"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/30943\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=30943"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=30943"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=30943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}