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, і так, це дратує, що межує з помилкою.