ไดรเวอร์ PostgreSQL JDBC (เรียกสั้น ๆ ว่า PgJDBC) ช่วยให้โปรแกรม Java เชื่อมต่อกับฐานข้อมูล PostgreSQL โดยใช้โค้ด Java มาตรฐานที่เป็นอิสระจากฐานข้อมูล เป็นไดรเวอร์โอเพ่นซอร์ส JDBC ที่เขียนด้วย Pure Java (ประเภท 4) และสื่อสารในโปรโตคอลเครือข่ายดั้งเดิมของ PostgreSQL
เวอร์ชันปัจจุบันของไดรเวอร์ควรเข้ากันได้กับ PostgreSQL 8.4 และสูงกว่า โดยใช้เวอร์ชัน 3.0 ของโปรโตคอลและ Java 8 (JDBC 4.2) หรือสูงกว่า ยกเว้นในกรณีที่คุณมีข้อกำหนดที่ผิดปกติ (ใช้งานแอปพลิเคชันเก่าหรือ JVM) นี่คือไดรเวอร์ที่คุณควรใช้
การทดสอบการถดถอย PgJDBC รันกับ PostgreSQL เวอร์ชันทั้งหมดตั้งแต่ 9.1 รวมถึงเวอร์ชัน "build PostgreSQL จาก git master" มีทางแยกอื่น ๆ ของ PostgreSQL แต่ไม่ได้รับการรับรองให้ทำงานกับ PgJDBC หากคุณพบข้อบกพร่องหรือการถดถอยในเวอร์ชันที่รองรับ โปรดแจ้งปัญหา
หมายเหตุ: ไม่รับประกันเวอร์ชัน PgJDBC ตั้งแต่ 42.8.0 ว่าจะทำงานกับ PostgreSQL ที่เก่ากว่า 9.1 ได้
คนส่วนใหญ่ไม่จำเป็นต้องคอมไพล์ PgJDBC คุณสามารถดาวน์โหลดไดรเวอร์พรีคอมไพล์ (jar) ได้จากไซต์ PostgreSQL JDBC หรือใช้เครื่องมือการจัดการการขึ้นต่อกันที่คุณเลือก:
คุณสามารถค้นหา The Central Repository ด้วย GroupId และ ArtifactId org.postgresql:postgresql
<!-- Add the following dependency to your pom.xml, -->
<!-- replacing LATEST with specific version as required -->
< dependency >
< groupId >org.postgresql</ groupId >
< artifactId >postgresql</ artifactId >
< version >LATEST</ version >
</ dependency >
การสร้างสแนปชอต (บิลด์จากสาขา master
) ยังปรับใช้กับ OSS Sonatype Snapshot Repository อีกด้วย ดังนั้นคุณจึงสามารถทดสอบเวอร์ชันการพัฒนาปัจจุบันได้ (ทดสอบการแก้ไขข้อบกพร่องบางอย่าง) โดยการเปิดใช้งานพื้นที่เก็บข้อมูลและใช้ SNAPSHOT เวอร์ชันล่าสุด
นอกจากนี้ยังมี (สแนปชอต) RPM ไบนารี่ที่มีอยู่ในที่เก็บ Copr ของ Fedora
สำหรับข้อมูลเพิ่มเติม คุณสามารถอ่านเอกสารประกอบไดรเวอร์ PgJDBC หรือเอกสารประกอบ JDBC ทั่วไป โปรดดูที่บทช่วยสอน Java™
การดำเนินการ | ระดับ |
---|---|
java.sql.ไดร์เวอร์ | org.postgresql.ไดร์เวอร์ |
javax.sql.แหล่งข้อมูล | org.postgresql.ds.PGSimpleDataSource |
javax.sql.ConnectionPoolDataSource | org.postgresql.ds.PGConnectionPoolDataSource |
javax.sql.XADataSource | org.postgresql.xa.PGXADataSource |
ไดรเวอร์รู้จัก JDBC URL ของแบบฟอร์ม:
jdbc:postgresql:database
jdbc:postgresql:
jdbc:postgresql://host/database
jdbc:postgresql://host/
jdbc:postgresql://host:port/database
jdbc:postgresql://host:port/
jdbc:postgresql://?service=myservice
รูปแบบทั่วไปสำหรับ JDBC URL สำหรับการเชื่อมต่อกับเซิร์ฟเวอร์ PostgreSQL มีดังต่อไปนี้ โดยรายการในวงเล็บเหลี่ยม ([ ]) เป็นทางเลือก:
jdbc:postgresql:[//host[:port]/][database][?property1=value1[&property2=value2]...]
ที่ไหน:
localhost
5432
PgJDBC ใช้ java.util.logging สำหรับการบันทึก หากต้องการกำหนดค่าระดับการบันทึกและควบคุมปลายทางเอาต์พุตของบันทึก (เช่น ไฟล์หรือคอนโซล) ให้กำหนดค่าคุณสมบัติ java.util.logging ของคุณให้สอดคล้องกับตัวบันทึก org.postgresql โปรดทราบว่าระดับบันทึกที่ละเอียดที่สุด " FINEST
" อาจมีข้อมูลที่ละเอียดอ่อน เช่น รายละเอียดการเชื่อมต่อ การสืบค้น SQL หรือพารามิเตอร์คำสั่ง
นอกเหนือจากพารามิเตอร์การเชื่อมต่อมาตรฐานแล้ว ไดรเวอร์ยังรองรับคุณสมบัติเพิ่มเติมอีกจำนวนหนึ่ง ซึ่งสามารถใช้เพื่อระบุลักษณะการทำงานของไดรเวอร์เพิ่มเติมสำหรับ PostgreSQL™ โดยเฉพาะ คุณสมบัติเหล่านี้อาจระบุได้ใน URL การเชื่อมต่อหรือพารามิเตอร์อ็อบเจ็กต์คุณสมบัติเพิ่มเติมใน DriverManager.getConnection
คุณสมบัติ | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|---|
ผู้ใช้ | สตริง | โมฆะ | ผู้ใช้ฐานข้อมูลที่ทำการเชื่อมต่อในนามของ |
รหัสผ่าน | สตริง | โมฆะ | รหัสผ่านของผู้ใช้ฐานข้อมูล |
ตัวเลือก | สตริง | โมฆะ | ระบุพารามิเตอร์การเริ่มต้นการเชื่อมต่อ 'ตัวเลือก' |
บริการ | สตริง | โมฆะ | ระบุชื่อ 'บริการ' ที่อธิบายไว้ในไฟล์ pg_service.conf ข้อมูลอ้างอิง: ไฟล์บริการการเชื่อมต่อและไฟล์รหัสผ่าน ไฟล์ 'บริการ' สามารถให้คุณสมบัติทั้งหมดรวมถึง 'hostname=', 'port=' และ 'dbname=' |
SSL | บูลีน | เท็จ | ควบคุมการใช้ SSL (ค่าจริงทำให้ต้องใช้ SSL) |
sslfactory | สตริง | org.postgresql.ssl.LibPQFactory | จัดเตรียมคลาส SSLSocketFactory เมื่อใช้ SSL |
sslfactoryarg (เลิกใช้แล้ว) | สตริง | โมฆะ | อาร์กิวเมนต์ส่งต่อไปยังตัวสร้างของคลาส SSLSocketFactory |
sslmode | สตริง | ชอบมากกว่า | ควบคุมการตั้งค่าสำหรับการเปิดโดยใช้การเชื่อมต่อที่เข้ารหัส SSL |
sslcert | สตริง | โมฆะ | ตำแหน่งของใบรับรอง SSL ของไคลเอ็นต์ |
sslkey | สตริง | โมฆะ | ตำแหน่งของคีย์ SSL PKCS#8 หรือ PKCS#12 ของไคลเอ็นต์ สำหรับ PKCS ส่วนขยายต้องเป็น .p12 หรือ .pfx และนามแฝงจะต้องเป็น user |
sslrootcert | สตริง | โมฆะ | ตำแหน่งของใบรับรองหลักสำหรับการตรวจสอบความถูกต้องของเซิร์ฟเวอร์ |
sslhostnameverifier | สตริง | โมฆะ | ชื่อของคลาส (สำหรับใช้ใน Class.forName(String)) ที่ใช้ javax.net.ssl.HostnameVerifier และสามารถตรวจสอบชื่อโฮสต์ของเซิร์ฟเวอร์ได้ |
sslรหัสผ่านโทรกลับ | สตริง | โมฆะ | ชื่อของคลาส (สำหรับใช้ใน Class.forName(String)) ที่ใช้ javax.security.auth.callback.CallbackHandler และสามารถจัดการ PasswordCallback สำหรับรหัสผ่าน ssl |
รหัสผ่าน ssl | สตริง | โมฆะ | รหัสผ่านสำหรับคีย์ SSL ของไคลเอ็นต์ (จะถูกละเว้นหากตั้งค่า sslpasswordcallback) |
การเจรจาต่อรอง | สตริง | โพสต์เกรส | กำหนดว่าจะใช้การเจรจา ALPN ssl หรือไม่ ตั้งค่าให้ direct ให้เลือก ALPN |
sendBufferSize | จำนวนเต็ม | -1 | ขนาดบัฟเฟอร์การเขียนซ็อกเก็ต |
maxSendBufferSize | จำนวนเต็ม | 65536 | จำนวนไบต์สูงสุดที่บัฟเฟอร์ก่อนส่งไปยังแบ็กเอนด์ pgjdbc ใช้ least(maxSendBufferSize, greatest(8192, SO_SNDBUF)) เพื่อกำหนดขนาดบัฟเฟอร์ |
รับBufferSize | จำนวนเต็ม | -1 | ขนาดบัฟเฟอร์การอ่านซ็อกเก็ต |
บันทึกข้อผิดพลาดเซิร์ฟเวอร์รายละเอียด | บูลีน | จริง | อนุญาตให้บันทึกรายละเอียดข้อผิดพลาดของเซิร์ฟเวอร์ (เช่น คำสั่งและค่า sql) และส่งต่อเป็นข้อยกเว้น การตั้งค่าเป็นเท็จจะปกปิดข้อผิดพลาดเหล่านี้เพื่อไม่ให้เปิดเผยต่อผู้ใช้หรือบันทึก |
อนุญาตการเข้ารหัสการเปลี่ยนแปลง | บูลีน | เท็จ | อนุญาตให้มีการเปลี่ยนแปลงใน client_encoding |
logUnclosedConnections | บูลีน | เท็จ | เมื่อการเชื่อมต่อที่ไม่ได้ปิดอย่างชัดเจนเป็นขยะที่รวบรวม ให้บันทึกสแต็กเทรซจากการเปิดการเชื่อมต่อเพื่อติดตามแหล่งที่มาของการรั่วไหล |
ไบนารีโอน | บูลีน | จริง | เปิดใช้งานการถ่ายโอนแบบไบนารีสำหรับประเภทในตัวที่รองรับหากเป็นไปได้ การตั้งค่านี้เป็น false จะปิดใช้งานการถ่ายโอนไบนารี่ใด ๆ เว้นแต่จะเปิดใช้งานแยกกันสำหรับแต่ละประเภทด้วย binaryTransferEnable ไม่ว่าจะเป็นไปได้หรือไม่ที่จะใช้การถ่ายโอนไบนารี่ทั้งหมดนั้นขึ้นอยู่กับคำสั่งที่เตรียมไว้ฝั่งเซิร์ฟเวอร์ (ดู prepareThreshold ) |
ไบนารีโอนเปิดใช้งาน | สตริง | - | รายการประเภทที่คั่นด้วยเครื่องหมายจุลภาคเพื่อเปิดใช้งานการถ่ายโอนไบนารี หมายเลขหรือชื่อ OID |
ไบนารีโอนปิดการใช้งาน | สตริง | - | รายการประเภทที่คั่นด้วยเครื่องหมายจุลภาคเพื่อปิดใช้งานการถ่ายโอนไบนารี หมายเลขหรือชื่อ OID แทนที่ค่าในชุดเริ่มต้นของไดรเวอร์และค่าที่ตั้งค่าด้วย binaryTransferEnable |
เตรียมเกณฑ์ | จำนวนเต็ม | 5 | กำหนดจำนวนการดำเนินการ PreparedStatement ที่จำเป็นก่อนที่จะสลับไปใช้คำสั่งที่เตรียมไว้ฝั่งเซิร์ฟเวอร์ ค่าเริ่มต้นคือห้า ซึ่งหมายถึงเริ่มใช้คำสั่งที่เตรียมไว้ฝั่งเซิร์ฟเวอร์ในการดำเนินการครั้งที่ห้าของอ็อบเจ็กต์ PreparedStatement เดียวกัน ค่า -1 จะเปิดใช้งานคำสั่งที่จัดเตรียมฝั่งเซิร์ฟเวอร์ และบังคับให้มีการถ่ายโอนแบบไบนารีสำหรับประเภทที่เปิดใช้งาน (ดู binaryTransfer ) |
เตรียมคำสั่ง CacheQuery | จำนวนเต็ม | 256 | ระบุจำนวนรายการสูงสุดในแคชต่อการเชื่อมต่อของคำสั่งที่เตรียมไว้ ค่า 0 ปิดใช้งานแคช |
เตรียมงบ CacheSizeMiB | จำนวนเต็ม | 5 | ระบุขนาดสูงสุด (เป็นเมกะไบต์) ของแคชคำสั่งที่เตรียมไว้ต่อการเชื่อมต่อ ค่า 0 ปิดใช้งานแคช |
ค่าเริ่มต้นRowFetchSize | จำนวนเต็ม | 0 | จำนวนแถวที่เป็นบวกที่ควรดึงมาจากฐานข้อมูลเมื่อจำเป็นต้องมีแถวเพิ่มเติมสำหรับ ResultSet ในแต่ละการวนซ้ำของการดึงข้อมูล |
เข้าสู่ระบบหมดเวลา | จำนวนเต็ม | 0 | ระบุระยะเวลาสูงสุดเป็นวินาที (2147484) เพื่อรอการสร้างการเชื่อมต่อฐานข้อมูล |
เชื่อมต่อหมดเวลา | จำนวนเต็ม | 10 | ค่าการหมดเวลาเป็นวินาทีสูงสุด (2147484) ที่ใช้สำหรับการดำเนินการเชื่อมต่อซ็อกเก็ต |
ซ็อกเก็ตหมดเวลา | จำนวนเต็ม | 0 | ค่าการหมดเวลาเป็นวินาทีสูงสุด (2147484) ที่ใช้สำหรับการดำเนินการอ่านซ็อกเก็ต |
ยกเลิกสัญญาณหมดเวลา | จำนวนเต็ม | 10 | การหมดเวลาที่ใช้สำหรับการส่งคำสั่งยกเลิก |
sslResponseTimeout | จำนวนเต็ม | 5,000 | การหมดเวลาของซ็อกเก็ตในหน่วยมิลลิวินาทีกำลังรอการตอบสนองจากคำขออัปเกรด SSL จากเซิร์ฟเวอร์ |
tcpKeepAlive | บูลีน | เท็จ | เปิดใช้งานหรือปิดใช้งาน TCP Keep-alive |
tcpNoDelay | บูลีน | จริง | เปิดหรือปิดใช้งาน TCP โดยไม่มีความล่าช้า |
ชื่อแอปพลิเคชัน | สตริง | ไดรเวอร์ PostgreSQL JDBC | ชื่อแอปพลิเคชัน (ต้องมีเวอร์ชันเซิร์ฟเวอร์ >= 9.0) หากถือว่า MinServerVersion ถูกตั้งค่าเป็น >= 9.0 สิ่งนี้จะถูกส่งไปในแพ็กเก็ตเริ่มต้น มิฉะนั้นหลังจากทำการเชื่อมต่อแล้ว |
อ่านอย่างเดียว | บูลีน | เท็จ | ทำให้การเชื่อมต่อนี้อยู่ในโหมดอ่านอย่างเดียว |
อ่านอย่างเดียวโหมด | สตริง | ธุรกรรม | ระบุลักษณะการทำงานเมื่อตั้งค่าการเชื่อมต่อเป็นแบบอ่านอย่างเดียว ค่าที่เป็นไปได้: ละเว้น ธุรกรรม เสมอ |
ปิดการใช้งานColumnSanitizer | บูลีน | เท็จ | เปิดใช้งานการเพิ่มประสิทธิภาพที่ปิดใช้งานเครื่องมือกำจัดชื่อคอลัมน์ |
ถือว่า MinServerVersion | สตริง | โมฆะ | สมมติว่าเซิร์ฟเวอร์เป็นเวอร์ชันนั้นอย่างน้อย |
สคีมาปัจจุบัน | สตริง | โมฆะ | ระบุสคีมา (หรือหลายสคีมาคั่นด้วยเครื่องหมายจุลภาค) ที่จะตั้งค่าในเส้นทางการค้นหา |
targetServerType | สตริง | ใดๆ | ระบุชนิดของเซิร์ฟเวอร์ที่จะเชื่อมต่อ ค่าที่เป็นไปได้: ใดๆ, ต้นแบบ, ทาส (เลิกใช้แล้ว), รอง, PreferSlave (เลิกใช้แล้ว), PreferSecondary, PreferPrimary |
โฮสต์ตรวจสอบวินาที | จำนวนเต็ม | 10 | ระบุช่วงเวลา (วินาที) หลังจากนั้นจะมีการตรวจสอบสถานะโฮสต์อีกครั้งในกรณีที่มีการเปลี่ยนแปลง |
โหลดBalanceHosts | บูลีน | เท็จ | หากโฮสต์ที่ถูกปิดใช้งานเชื่อมต่อตามลำดับที่กำหนด หากเปิดใช้งานโฮสต์จะถูกเลือกแบบสุ่มจากชุดผู้สมัครที่เหมาะสม |
ซ็อกเก็ตโรงงาน | สตริง | โมฆะ | ระบุโรงงานซ็อกเก็ตสำหรับการสร้างซ็อกเก็ต |
socketFactoryArg (เลิกใช้แล้ว) | สตริง | โมฆะ | อาร์กิวเมนต์ส่งต่อไปยังตัวสร้างของคลาส SocketFactory |
บันทึกอัตโนมัติ | สตริง | ไม่เคย | ระบุสิ่งที่ไดรเวอร์ควรทำหากการสืบค้นล้มเหลว ค่าที่เป็นไปได้: เสมอ ไม่เคย อนุรักษ์นิยม |
การล้างข้อมูลSavepoints | บูลีน | เท็จ | ในโหมดบันทึกอัตโนมัติ ไดรเวอร์จะตั้งค่า SAVEPOINT สำหรับทุกการค้นหา เป็นไปได้ที่จะทำให้บัฟเฟอร์ที่ใช้ร่วมกันของเซิร์ฟเวอร์หมดลง การตั้งค่านี้เป็นจริงจะปล่อย SAVEPOINT แต่ละรายการโดยมีค่าใช้จ่ายไปกลับเพิ่มเติม |
ชอบ QueryMode | สตริง | ขยาย | ระบุโหมดที่ใช้ในการดำเนินการสืบค้นไปยังฐานข้อมูล ค่าที่เป็นไปได้: ขยาย, ExtendedForPrepared, ExtendedCacheEverything, ง่าย |
reWriteBatchedInserts | บูลีน | เท็จ | เปิดใช้งานการปรับให้เหมาะสมเพื่อเขียนใหม่และยุบคำสั่ง INSERT ที่เข้ากันได้ซึ่งจัดเป็นชุด |
EscapeSyntaxCallMode | สตริง | เลือก | ระบุวิธีที่ไวยากรณ์การเรียก Escape JDBC ถูกแปลงเป็น SQL พื้นฐาน (CALL/SELECT) สำหรับการเรียกใช้โพรซีเดอร์หรือฟังก์ชัน (ต้องใช้เวอร์ชันเซิร์ฟเวอร์ >= 11) ค่าที่เป็นไปได้: select, callIfNoReturn, call |
maxResultBuffer | สตริง | โมฆะ | ระบุขนาดของบัฟเฟอร์ผลลัพธ์เป็นไบต์ ซึ่งต้องไม่เกินในระหว่างการตั้งค่าผลลัพธ์การอ่าน สามารถระบุเป็นขนาดเฉพาะ (เช่น "100", "200M" "2G") หรือเป็นเปอร์เซ็นต์ของหน่วยความจำฮีปสูงสุด (เช่น "10p", "20pct", "50percent") |
gssLib | สตริง | อัตโนมัติ | ค่าที่อนุญาตคือ auto (ค่าเริ่มต้น ดูด้านล่าง), sspi (บังคับ SSPI) หรือ gssapi (บังคับ GSSAPI-JSSE) |
gssResponseTimeout | จำนวนเต็ม | 5,000 | การหมดเวลาของซ็อกเก็ตในหน่วยมิลลิวินาทีเพื่อรอการตอบสนองจากคำขอการเชื่อมต่อที่เข้ารหัส GSS จากเซิร์ฟเวอร์ |
gssEncMode | สตริง | อนุญาต | ควบคุมค่ากำหนดสำหรับการใช้การเข้ารหัส GSSAPI สำหรับการเชื่อมต่อ ค่าถูกปิดใช้งาน อนุญาต ต้องการ และต้องการ |
ใช้Spnego | สตริง | เท็จ | ใช้ SPNEGO ในคำขอการรับรองความถูกต้อง SSPI |
AdaptiveFetch | บูลีน | เท็จ | ระบุว่าจำนวนแถวที่ดึงข้อมูลใน ResultSet โดยการวนซ้ำการดึงข้อมูลแต่ละครั้งควรเป็นแบบไดนามิกหรือไม่ จำนวนแถวจะคำนวณโดยการหารขนาด maxResultBuffer ออกเป็นขนาดแถวสูงสุดที่สังเกตได้จนถึงขณะนี้ ต้องประกาศ maxResultBuffer และ defaultRowFetchSize สำหรับการวนซ้ำครั้งแรก |
AdaptiveFetchขั้นต่ำ | จำนวนเต็ม | 0 | ระบุจำนวนแถวขั้นต่ำซึ่งสามารถคำนวณได้โดย AdaptiveFetch จำนวนแถวที่ใช้โดย AdaptiveFetch ต้องไม่ต่ำกว่าค่านี้ |
AdaptiveFetchสูงสุด | จำนวนเต็ม | -1 | ระบุจำนวนแถวสูงสุดซึ่งสามารถคำนวณได้โดย AdaptiveFetch จำนวนแถวที่ใช้โดย AdaptiveFetch ต้องไม่สูงกว่าค่านี้ จำนวนลบใดๆ ที่ตั้งเป็น AdaptiveFetchMaximum จะถูกใช้โดย AdaptiveFetch เป็นจำนวนอนันต์ของแถว |
localSocketAddress | สตริง | โมฆะ | ชื่อโฮสต์หรือที่อยู่ IP ที่กำหนดเพื่อกำหนดค่าอินเทอร์เฟซอย่างชัดเจนที่ไดรเวอร์จะผูกเข้ากับฝั่งไคลเอ็นต์ของการเชื่อมต่อ TCP/IP เมื่อทำการเชื่อมต่อ |
อ้างตัวระบุการส่งคืน | บูลีน | จริง | โดยค่าเริ่มต้น เราจะเสนอราคาซ้ำให้กับตัวระบุที่ส่งคืน ORM บางตัวอ้างอิงถึงพวกเขาแล้ว สวิตช์อนุญาตให้พวกเขาปิดสิ่งนี้ได้ |
การรับรองความถูกต้อง PluginClassName | สตริง | โมฆะ | ชื่อคลาสแบบเต็มของคลาสที่ใช้อินเทอร์เฟซ AuthenticationPlugin หากเป็นค่าว่าง ระบบจะใช้ค่ารหัสผ่านในคุณสมบัติการเชื่อมต่อ |
ไม่ทราบความยาว | จำนวนเต็ม | จำนวนเต็ม MAX_LENGTH | ระบุความยาวที่จะส่งคืนสำหรับประเภทความยาวที่ไม่ทราบ |
ประเภทสตริง | สตริง | โมฆะ | ระบุประเภทที่จะใช้เมื่อรวมพารามิเตอร์ PreparedStatement ที่ตั้งค่าผ่าน setString() |
การผูกช่อง | สตริง | ชอบมากกว่า | ตัวเลือกนี้ควบคุมการใช้การเชื่อมโยงช่องทางของไคลเอ็นต์ require หมายความว่าการเชื่อมต่อต้องใช้การรวมช่องสัญญาณ prefer หมายความว่าไคลเอนต์จะเลือกการรวมช่องสัญญาณถ้ามี และ disable ป้องกันการใช้การรวมช่องสัญญาณ |
คุณสมบัติ | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|---|
pgjdbc.config.cleanup.thread.ttl | ยาว | 30000 | ไดรเวอร์มีเธรดการล้างข้อมูลภายในซึ่งจะตรวจสอบและล้างการเชื่อมต่อที่ไม่ได้ปิด คุณสมบัตินี้กำหนดระยะเวลา (เป็นมิลลิวินาที) เธรดการล้างข้อมูลจะทำงานต่อไปหากไม่มีสิ่งใดให้ล้างข้อมูล |
สำหรับข้อมูลเกี่ยวกับวิธีการมีส่วนร่วมในโครงการ โปรดดูแนวทางการบริจาค