libpq
, ต้นแบบห้องสมุดลูกค้า PostgreSQL, มีkeepalives
ตัวเลือกในการเปิดใช้งาน keepalives
ดูเหมือนว่า PgAdmin-III จะไม่อนุญาตให้คุณระบุพารามิเตอร์การเชื่อมต่อโดยพลการโดยตรง แต่จะมีวิธีแก้ไขเฉพาะหน้า
เมื่อคุณดูการกำหนดค่าการเชื่อมต่อใน PgAdmin-III คุณจะเห็นตัวเลือก "บริการ" นี้หมายถึงไฟล์บริการการเชื่อมต่อ หากต้องการใช้สร้าง~/.pg_service.conf
เนื้อหาด้วย:
[myherokudb]
user=myusername
keepalives=1
connect_timeout=20
keepalives_idle=10
และเมื่อเชื่อมต่อจาก PgAdmin-III ให้ป้อนmyherokudb
ในservice
ฟิลด์
สิ่งนี้จะทำให้ PgAdmin-III ใช้พารามิเตอร์การเชื่อมต่อที่ระบุในไฟล์บริการรวมถึงการเปิดใช้งาน keepalives
(หากคุณใช้ Windows ไฟล์บริการอาจอยู่ในตำแหน่งอื่นดูเอกสารประกอบ)
ไม่มีตัวแปรสภาพแวดล้อมในlibpq
การควบคุม keepalives ดังนั้นคุณจึงไม่สามารถตั้งค่าได้คุณจะต้องใช้ไฟล์บริการ
การเพิ่มการรองรับพารามิเตอร์การเชื่อมต่อเพิ่มเติมให้กับ PgAdmin-III หรือช่องทำเครื่องหมายในตัวเลือกการเชื่อมต่อเพื่อควบคุมพารามิเตอร์ keepalives น่าจะเป็นเรื่องเล็กน้อย ฉันสงสัยว่าเดฟเข้าใจหรือไม่ว่าคุณขอให้คุณเสนอเงินทุนเพื่อทำงาน
อัปเดต : ไฟล์บริการจะค้นหาตามตำแหน่งที่ระบุในPGSYSCONFDIR
ตัวแปรสภาพแวดล้อม หากไม่มีการตั้งค่าจะมีค่าเริ่มต้นเป็นตำแหน่งเฉพาะของแพลตฟอร์มซึ่งดูเหมือนว่าจะไม่ได้รับการบันทึกอย่างถูกต้องสำหรับ Windows ฉันจะส่งแพทช์เอกสาร เอกสารสำหรับ.pgpass
แสดงเส้นทางของมันเป็นเช่น%APPDATA%\postgresql\pgpass.conf
นั้น~/.pg_service.conf
ควรจะเป็น%APPDATA%\postgresql\pg_service.conf
... แต่ดูเหมือนจะไม่เป็นเช่นนั้น
ในความเป็นจริงเส้นทางที่ถูกต้องคือ:
%APPDATA%\postgresql\.pg_service.conf
ดังนั้น:
- Start-> Run
- `% 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
หากคุณมีปัญหาในการเปลี่ยนชื่อให้ปิด "ซ่อนนามสกุลไฟล์สำหรับประเภทไฟล์ที่รู้จัก" หรือใช้โปรแกรมแก้ไขข้อความที่เหมาะสมเช่นnotepad ++ซึ่งจะช่วยให้คุณสร้างไฟล์ที่มีชื่อตามที่คุณต้องการ
หมายเหตุช่วงเวลานำหน้า (จุด) ในชื่อไฟล์ ใช่มันแตกต่างจากpgpass.conf
และใช่มันน่ารำคาญติดกับบั๊ก