libpq
temel PostgreSQL istemci kitaplığı, TCP saklayıcılarını etkinleştirme seçeneğine sahiptirkeepalives
.
PgAdmin-III, rastgele bağlantı parametrelerini doğrudan belirtmenize izin vermiyor gibi görünüyor, ancak bir geçici çözüm var.
PgAdmin-III'teki bağlantı yapılandırmasına baktığınızda, bir "hizmet" seçeneği göreceksiniz. Bu bağlantı servis dosyasını ifade eder . Kullanmak için aşağıdakiler gibi bir ~/.pg_service.conf
içerikle a oluşturun :
[myherokudb]
user=myusername
keepalives=1
connect_timeout=20
keepalives_idle=10
ve pgAdmin-III bağlanırken girmek myherokudb
de service
sahada.
Bu, PgAdmin-III'ün saklayıcıların etkinleştirilmesi de dahil olmak üzere hizmet dosyasında belirtilen bağlantı parametrelerini kullanmasına neden olur.
(Windows kullanıyorsanız, hizmet dosyası başka bir konumda olabilir; belgelere bakın).
libpq
Kalıcıları kontrol etmek için herhangi bir ortam değişkeni yoktur , bu nedenle bu şekilde ayarlayamazsınız, bir hizmet dosyası kullanmanız gerekir.
PgAdmin-III'e ek bağlantı parametreleri için destek veya keepalives parametresini kontrol etmek için bağlantı seçeneklerinde bir onay kutusu eklemek oldukça önemsiz olmalıdır. Acaba Dave, işi finanse etme teklifiniz için ne istediğinizi anlayıp anlamadığını merak ediyor.
Güncelleme : Hizmet dosyası, PGSYSCONFDIR
ortam değişkeninde belirtilen konuma bakılır . Belirlenmezse, varsayılan olarak Windows için düzgün bir şekilde belgelenmiş görünmeyen platforma özgü bir konumdur. Bir belge yaması göndereceğim. İçin belgeler.pgpass
yolunu gösteriyor %APPDATA%\postgresql\pgpass.conf
, öyle ~/.pg_service.conf
olmalı %APPDATA%\postgresql\pg_service.conf
... ama öyle görünmüyor.
Aslında, doğru yol:
%APPDATA%\postgresql\.pg_service.conf
Yani:
- Başlat-> Çalıştır
- `% APPDATA%
- yoksa "postgresql" dizini yarat
- Yukarıda verilen içeriklerle bir metin dosyası olarak ".pg_service.conf" dosyası oluşturun (dosya adlandırma ile ilgili aşağıdaki nota bakın)
- PgAdmin-III'de, Ana makine adına "localhost" ve hizmet alanına hizmet adını girin.
Windows'ta test ettim ve Windows'ta host
PgAdmin-III'teki alanı boş bırakamayacağınızı buldum. PgAdmin-III, hizmet dosyasında belirtilen tüm ana bilgisayarları bağlantı iletişim kutusunda belirtilenlerle geçersiz kılıyor gibi görünüyor. Bu nedenle host
, hizmet dosyasına bir anahtar eklememelisiniz . (Bir hata bildireceğim).
Windows'ta "bilinen dosya türleri için dosya uzantılarını gizle" seçeneğinin kapalı olduğundan emin olun, bunun .pg_service.conf.txt
yerine yanlışlıkla çağırmazsınız . Adının doğru olup olmadığından emin değilseniz, liste görünümünde Windows Gezgini'nde "Tür" sütununu kontrol edin; yanlış adlandırılmışsa .pg_service.conf.txt
ve CONF File
doğru adlandırılmışsa "Metin Belgesi" ni okur .pg_service.conf
. Yeniden adlandırma konusunda sorun yaşıyorsanız, "bilinen dosya türleri için dosya uzantılarını gizle" seçeneğini kapatın veya notepad ++ gibi istediğiniz gibi adlandırılmış dosyalar oluşturmanıza izin veren anlamlı bir metin düzenleyicisi kullanın .
Dosya adındaki baştaki noktaya (nokta) dikkat edin. Evet, bu farklı pgpass.conf
ve evet, bu sinir bozucu, bir böceğe sınır.