libpq
, основна бібліотека клієнтів PostgreSQL, має keepalives
можливість увімкнути збереження TCP .
Схоже, що PgAdmin-III не дозволяє вам вказувати довільні параметри з'єднання безпосередньо, але існує обхід.
Переглянувши конфігурацію підключення в PgAdmin-III, ви побачите параметр "послуга". Це стосується файлу служби зв'язку . Щоб використовувати його, створіть ~/.pg_service.conf
вміст на зразок:
[myherokudb]
user=myusername
keepalives=1
connect_timeout=20
keepalives_idle=10
а при підключенні від PgAdmin-III введіть myherokudb
у service
поле.
Це призведе до того, що PgAdmin-III буде використовувати параметри з'єднання, визначені у файлі служби, включаючи активацію збереження.
(Якщо ви працюєте в Windows, файл служби може знаходитися в іншому місці; див. Документацію).
Немає змінної середовища libpq
для керування збереженням, тому ви не можете встановити його таким чином, вам доведеться використовувати службовий файл.
Додавання підтримки додаткових параметрів підключення до PgAdmin-III або прапорця в опціях підключення для керування параметром keepalives, має бути досить тривіальним. Цікаво, чи Дейв зрозумів, що ви просите про свою пропозицію для фінансування твору.
Оновлення : файл служби служби шукається у місці, вказаному в PGSYSCONFDIR
змінній оточення. Якщо він не встановлений, він за замовчуванням розміщується на певному платформі, який, здається, не є належним чином зафіксованим для Windows. Я надішлю виправлення документації. Документація для.pgpass
показує, як шлях %APPDATA%\postgresql\pgpass.conf
, такий ~/.pg_service.conf
повинен бути %APPDATA%\postgresql\pg_service.conf
... Але, схоже, це не так.
Насправді правильний шлях:
%APPDATA%\postgresql\.pg_service.conf
Так:
- Старт-> Виконати
- `% APPDATA%
- створити каталог "postgresql", якщо він не існує
- створити файл ".pg_service.conf" як текстовий файл із наведеним вище вмістом (див. примітку нижче щодо повторного іменування файлів)
- У PgAdmin-III введіть "localhost" у назві хоста, а ім'я служби - у службовому полі.
Я перевірив Windows, і виявив, що ви не можете залишити host
поле в пусті PgAdmin-III в Windows. PgAdmin-III, схоже, переосмислює будь-який хост, вказаний у службовому файлі, тим, що вказано у діалоговому вікні підключення. Таким чином, ви не повинні включати host
ключ у службовий файл. (Повідомлю про помилку).
Переконайтеся, що "приховати розширення файлів для відомих типів файлів" вимкнено в Windows, тому ви не випадково викликаєте його .pg_service.conf.txt
. Якщо ви не впевнені, чи названо його правильним чи ні, перевірте стовпець «Тип» у Windows Explorer у поданні списку; він буде читати "Текстовий документ", якщо він неправильно названий .pg_service.conf.txt
, і CONF File
якщо він правильно названий .pg_service.conf
. Якщо у вас є проблеми з перейменуванням, вимкніть "приховати розширення файлів для відомих типів файлів" або скористайтеся розбірливим текстовим редактором, таким як блокнот ++, який дозволить створювати файли, названі як завгодно.
Зверніть увагу на провідний період (крапку) у назві файлу. Так, це інакше pgpass.conf
, і так, це дратує, що межує з помилкою.