Postgresql 9.2.24 Tài kèo bóng đá hôm nay và ngày mai | ||||
---|---|---|---|---|
prev | UP | Chương 31.libpq- C Thư viện | Tiếp theo |
Các chức năng sau liên quan đến việc tạo kèo bóng đá hôm nay và ngày mai với APostgreSQLMáy chủ phụ trợ. MỘT
Chương trình ứng dụng có thể mở một số kèo bóng đá hôm nay và ngày mai phụ trợ tại
một lần. (Một lý do để làm điều đó là truy cập nhiều hơn một
cơ sở dữ liệu.) Mỗi kèo bóng đá hôm nay và ngày mai được biểu diễn bằng mộtPGConnđối tượng, được lấy từ
chức kèo bóng đá hôm nay và ngày maiPQConnectDB
, PQConnectDBParams
hoặcPQSetDbLogin
. Lưu ý rằng các chức kèo bóng đá hôm nay và ngày mai này sẽ
Luôn trả về một con trỏ đối tượng không null, trừ khi có lẽ có
quá ít bộ nhớ thậm chí để phân bổPGConnĐối tượng. ThePQStatus
Hàm nên được gọi để kiểm tra
Trả về giá trị cho kèo bóng đá hôm nay và ngày mai thành công trước khi các truy vấn được gửi
thông qua đối tượng kèo bóng đá hôm nay và ngày mai.
Cảnh báo |
11678_11967 |
Lưu ý:Trên Windows, có một cách để cải thiện Hiệu suất nếu một kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu duy nhất liên tục bắt đầu và tắt máy. Trong nội bộ, libpq gọi
wsastartup ()
vàwsacleanup ()
cho kèo bóng đá hôm nay và ngày mai khởi động và Tắt, tương ứng.wsastartup ()
Tăng một cửa sổ bên trong Số lượng tham chiếu thư viện bị giảm bởiwsacleanup ()
. Khi số lượng tham chiếu là Chỉ một, gọiwsacleanup ()
Giải phóng tất cả các tài nguyên và tất cả các DLL đều được dỡ xuống. Đây là một Hoạt động đắt tiền. Để tránh điều này, một ứng dụng có thể gọi thủ côngwsastartup ()
Vì vậy Tài nguyên sẽ không được giải phóng khi kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu cuối cùng được đóng.
PQConnectDBParams
Tạo kèo bóng đá hôm nay và ngày mai mới với máy chủ cơ sở dữ liệu.
PGConn *PQConnectDbParams (const char *const *từ khóa, const char * const * giá trị, int expand_dbname);
Hàm này mở kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu mới bằng cách sử dụng
tham số được lấy từ hainullMảng được kèo bóng đá hôm nay và ngày mai thúc. Đầu tiên,Từ khóa, được định nghĩa là một mảng chuỗi,
Mỗi người là một từ khóa. Thứ hai,Giá trị, đưa ra giá trị cho mỗi từ khóa.
Không giống nhưPQSetDbLogin
bên dưới,
tập hợp tham số có thể được mở rộng mà không cần thay đổi
Chữ ký chức kèo bóng đá hôm nay và ngày mai, vì vậy sử dụng chức kèo bóng đá hôm nay và ngày mai này (hoặc
Các chất tương tự không chặnPQConnectStartParams
vàPQConnectPoll
) được ưu tiên cho mới
Lập trình ứng dụng.
Các từ khóa tham số hiện được công nhận được liệt kê TRONGPhần 31.1.2.
Khiexpand_dbnamelà khác không, ThedbnameGiá trị từ khóa là được phép được nhận dạng là một chuỗi kèo bóng đá hôm nay và ngày mai. Chỉ có Sự xuất hiện đầu tiên củadbnameIS đã mở rộng theo cách này, mọi sau đódbnameGiá trị được xử lý như đơn giản Tên cơ sở dữ liệu. Thông tin chi tiết về kèo bóng đá hôm nay và ngày mai có thể Các định dạng chuỗi xuất hiện trongPhần 31.1.1.
Mảng được truyền có thể trống để sử dụng tất cả các mặc định tham số hoặc có thể chứa một hoặc nhiều cài đặt tham số. Chúng nên được khớp với chiều dài. Xử lý sẽ dừng lại với cuối cùng khôngnullphần tử củaTừ khóamảng.
Nếu bất kỳ tham số nào không được xác định, thì tương ứng Biến môi trường (xemPhần 31,14) được kiểm tra. Nếu Biến môi trường cũng không được đặt, sau đó được chỉ định mặc định tích hợp được sử dụng.
Nói chung, các từ khóa được xử lý từ đầu Các mảng theo thứ tự chỉ mục. Hiệu quả của điều này là Khi các từ khóa được lặp lại, giá trị được xử lý cuối cùng là giữ lại. Do đó, thông qua vị trí cẩn thận củadbnameTừ khóa, có thể Để xác định những gì có thể bị ghi đè bởi mộtConninfoChuỗi và những gì có thể không.
PQConnectDB
Tạo kèo bóng đá hôm nay và ngày mai mới với máy chủ cơ sở dữ liệu.
PGConn *PQConnectDB (const char *Conninfo);
Hàm này mở kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu mới bằng cách sử dụng tham số được lấy từ chuỗiConninfo.
Chuỗi truyền có thể trống để sử dụng tất cả các mặc định tham số hoặc nó có thể chứa một hoặc nhiều tham số Cài đặt được phân tách bằng khoảng trắng hoặc nó có thể chứaURI. Nhìn thấyPhần 31.1.1Để biết chi tiết.
PQSetDbLogin
Tạo kèo bóng đá hôm nay và ngày mai mới với máy chủ cơ sở dữ liệu.
PGConn *pqsetdblogin (const char *pghost, const char *pgport, const char *pgoptions, const char *pgtty, const char *dbname, const char *đăng nhập, const char *pwd);
Đây là tiền thân củaPQConnectDB
với một tập hợp cố định
tham số. Nó có cùng chức kèo bóng đá hôm nay và ngày mai ngoại trừ
Thiếu tham số sẽ luôn luôn có các giá trị mặc định.
Viếtnullhoặc một chuỗi trống cho
bất kỳ một trong các tham số cố định là
mặc định.
Nếudbnamechứa=dấu hiệu hoặc có kèo bóng đá hôm nay và ngày mai hợp lệURItiền tố, nó được lấy
như mộtConninfoChuỗi chính xác
giống như cách nó đã được truyền choPQConnectDB
và các tham số còn lại
sau đó được áp dụng theo quy định choPQConnectDBParams
.
PQSetDB
Tạo kèo bóng đá hôm nay và ngày mai mới với máy chủ cơ sở dữ liệu.
PGConn *PQSetDB (char *PGHOST, char *pgport, char *pgoptions, char *pgtty, char *dbname);
Đây là một macro gọiPQSetDbLogin
với các con trỏ null choĐăng nhậpvàPWDtham số. Nó được cung cấp cho
Khả kèo bóng đá hôm nay và ngày mai tương thích ngược với các chương trình rất cũ.
PQConnectStartParams
PQConnectStart
PQConnectPoll
Tạo kèo bóng đá hôm nay và ngày mai với máy chủ cơ sở dữ liệu trong A trong A cách không chặn.
PGConn *PQConnectStartParams (const char *const *từ khóa, từ khóa, const char * const * giá trị, int expand_dbname); Pgconn *pqconnectStart (const char *conninfo); PostgrespollingStatusType PQConnectPoll (PGConn *Conn);
Ba chức năng này được sử dụng để mở kèo bóng đá hôm nay và ngày mai với A
máy chủ cơ sở dữ liệu sao cho chủ đề của ứng dụng của bạn về
Thực thi không bị chặn trên I/O từ xa trong khi làm như vậy. Các
Điểm của phương pháp này là sự chờ đợi cho I/O
Hoàn thành có thể xảy ra trong vòng lặp chính của ứng dụng, thay vào đó
hơn xuống bên trongPQConnectDBParams
hoặcPQConnectDB
, và vì vậy ứng dụng có thể
Quản lý hoạt động này song song với các hoạt động khác
các hoạt động.
vớiPQConnectStartParams
,,
kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu được thực hiện bằng cách sử dụng các tham số được thực hiện
từTừ khóavàGiá trịMảng và được kiểm soát bởiexpand_dbname, như được mô tả ở trên choPQConnectDBParams
.
vớiPQConnectStart
, The
kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu được thực hiện bằng các tham số được lấy từ
chuỗiConninfonhư mô tả
Trên choPQConnectDB
.
khôngPQConnectStartParams
cũng khôngPQConnectStart
cũng khôngPQConnectPoll
sẽ chặn, miễn là a
Số lượng hạn chế được đáp ứng:
Thehostaddrvàmáy chủtham số được sử dụng một cách thích hợp để đảm bảo rằng các truy vấn tên và tên ngược không làm ra. Xem tài kèo bóng đá hôm nay và ngày mai của các tham số này trongPhần 31.1.2Để biết chi tiết.
Nếu bạn gọiPQTRACE
,,
đảm bảo rằng đối tượng luồng mà bạn theo dõi sẽ
không khối.
Bạn đảm bảo rằng ổ cắm nằm trong thích hợp
trạng thái trước khi gọiPQConnectPoll
, như mô tả
dưới.
Lưu ý: Sử dụngPQConnectStartParams
tương tự nhưPQConnectStart
hiển thị
dưới.
Để bắt đầu yêu cầu kèo bóng đá hôm nay và ngày mai không chặn, hãy gọiConn = PQConnectStart ("Connection_info_String"). Nếu nhưConnlà null, sau đólibpqđã không thể phân bổ
mớiPGConnCấu trúc.
Nếu không, một hợp lệPGConnCon trỏ được trả về (mặc dù chưa đại diện cho một hợp lệ
kèo bóng đá hôm nay và ngày mai với cơ sở dữ liệu). Khi trở về từPQConnectStart
, gọistatus = pqstatus (Conn). Nếu nhưtrạng tháibằngConnection_Bad, PQConnectStart
đã thất bại.
nếuPQConnectStart
Thành công, giai đoạn tiếp theo là thăm dò ý kiếnlibpqđể nó có thể tiến hành
Trình tự kèo bóng đá hôm nay và ngày mai. Sử dụngPQSocket (Conn)
Để có được bộ mô tả
của ổ cắm bên dưới kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu. Vòng lặp
Do đó: nếuPQConnectPoll (Conn)
Đã trả về lần cuốipgres_polling_reading, đợi cho đến khi ổ cắm
đã sẵn sàng để đọc (như được chỉ ra bởiselect ()
, poll ()
hoặc chức kèo bóng đá hôm nay và ngày mai hệ thống tương tự). Sau đó
gọiPQConnectPoll (Conn)
Một lần nữa. Ngược lại, nếuPQConnectPoll (Conn)
Trả về lần cuốiPGRES_POLLING_WRITY, đợi cho đến khi
ổ cắm đã sẵn sàng để viết, sau đó gọiPQConnectPoll (Conn)
Một lần nữa. Nếu bạn có
chưa gọiPQConnectPoll
,,
tức là, ngay sau cuộc gọi đếnPQConnectStart
, hành xử như thể nó kéo dài
đã trả vềPGRES_POLLING_WRITY.
Tiếp tục vòng lặp này cho đến khiPQConnectPoll (Conn)
returnpgres_polling_failed, chỉ ra
Quy trình kèo bóng đá hôm nay và ngày mai đã thất bại hoặcPGRES_POLLING_OK, Cho biết kèo bóng đá hôm nay và ngày mai
đã được thực hiện thành công.
Bất cứ lúc nào trong quá trình kèo bóng đá hôm nay và ngày mai, trạng thái của
kèo bóng đá hôm nay và ngày mai có thể được kiểm tra bằng cách gọipqstatus
. Nếu cuộc gọi này trả vềConnection_Bad, sau đó quy trình kèo bóng đá hôm nay và ngày mai
đã thất bại; Nếu cuộc gọi trả vềConnection_ok
, thì kèo bóng đá hôm nay và ngày mai là
sẵn sàng. Cả hai trạng thái này đều có thể phát hiện như nhau từ
Giá trị trả về củaPQConnectPoll
, được mô tả ở trên. Khác
Các quốc gia cũng có thể xảy ra trong (và chỉ trong)
Quy trình kèo bóng đá hôm nay và ngày mai không đồng bộ. Những điều này chỉ ra
giai đoạn hiện tại của thủ tục kèo bóng đá hôm nay và ngày mai và có thể là
hữu ích để cung cấp phản hồi cho người dùng làm ví dụ. Những cái này
Trạng thái là:
chờ kèo bóng đá hôm nay và ngày mai được thực hiện.
kèo bóng đá hôm nay và ngày mai OK; chờ gửi.
Đang chờ phản hồi từ máy chủ.
nhận được xác thực; chờ đợi phụ trợ Khởi động để hoàn thành.
Đàm phán mã hóa SSL.
Tham số điều khiển môi trường Cài đặt.
Lưu ý rằng, mặc dù các hằng số này sẽ vẫn còn ( để duy trì khả kèo bóng đá hôm nay và ngày mai tương thích), một ứng dụng nên Không bao giờ dựa vào những điều này xảy ra theo một thứ tự cụ thể, hoặc Tất cả, hoặc về tình trạng luôn là một trong số đó giá trị được ghi lại. Một ứng dụng có thể làm một cái gì đó như cái này:
Switch (pqstatus (Conn)) Case Connection_started: Phản hồi = "kèo bóng đá hôm nay và ngày mai ..."; phá vỡ; Case Connection_Made: Phản hồi = "kèo bóng đá hôm nay và ngày mai với máy chủ ..."; phá vỡ; . . . mặc định: Phản hồi = "kèo bóng đá hôm nay và ngày mai ...";
TheConnect_Timeoutkèo bóng đá hôm nay và ngày mai
tham số bị bỏ qua khi sử dụngPQConnectPoll
; nó là ứng dụng
trách nhiệm quyết định xem một lượng quá mức của
Thời gian đã trôi qua. Nếu không thì,PQConnectStart
theo sau làPQConnectPoll
Vòng lặp tương đương vớiPQConnectDB
.
Lưu ý rằng nếuPQConnectStart
Trả về một null
con trỏ, bạn phải gọipqfinish
Khi bạn kết thúc với nó,
để xử lý cấu trúc và bất kỳ liên kết nào
Khối bộ nhớ. Điều này phải được thực hiện ngay cả khi kèo bóng đá hôm nay và ngày mai
cố gắng thất bại hoặc bị bỏ rơi.
PQConnDefaults
Trả về các tùy chọn kèo bóng đá hôm nay và ngày mai mặc định.
PQConnInFooption *PQConnDefaults (void); Cấu trúc typedef từ khóa *từ khóa; / * Từ khóa của tùy chọn */ char *envvar; / * Tên biến môi trường dự phòng */ char *biên soạn; / * Dự phòng được biên dịch trong giá trị mặc định */ char *val; / * Giá trị hiện tại của tùy chọn hoặc null */ Nhãn char *; / * Nhãn cho trường trong hộp thoại Connect */ char *vua; /* Cho biết cách hiển thị trường này Trong một hộp thoại kèo bóng đá hôm nay và ngày mai. Giá trị là: "" Hiển thị giá trị đã nhập như là "*" Trường mật khẩu - ẩn giá trị Tùy chọn gỡ lỗi "D" - không hiển thị theo mặc định */ int phân tán; / * Kích thước trường trong các ký tự cho hộp thoại */ PQConnInFooption;
Trả về mảng tùy chọn kèo bóng đá hôm nay và ngày mai. Điều này có thể được sử dụng để
Xác định tất cả có thểPQConnectDB
Tùy chọn và dòng điện của chúng
giá trị mặc định. Giá trị trả về chỉ vào một mảngPQConninFooptionCấu trúc,
kèo bóng đá hôm nay và ngày mai thúc bằng một mục có nullTừ khóaCon trỏ. Con trỏ null là
trả lại nếu bộ nhớ không thể được phân bổ. Lưu ý rằng
Giá trị mặc định hiện tại (ValTrường) sẽ phụ thuộc vào các biến môi trường và các biến khác
bối cảnh. Người gọi phải coi dữ liệu tùy chọn kèo bóng đá hôm nay và ngày mai là
chỉ đọc.
Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách vượt qua
nó đếnPQConnInfofree
. Nếu điều này
không được thực hiện, một lượng nhỏ bộ nhớ bị rò rỉ cho mỗi
Gọi đếnPQConnDefaults
.
PQConnInfoparse
Trả về các tùy chọn kèo bóng đá hôm nay và ngày mai phân tích cú pháp từ được cung cấp chuỗi kèo bóng đá hôm nay và ngày mai.
30993_31068
Phân tích chuỗi kèo bóng đá hôm nay và ngày mai và trả về kết quả
tùy chọn như một mảng; hoặc trả lạinullNếu có vấn đề với
Chuỗi kèo bóng đá hôm nay và ngày mai. Chức năng này có thể được sử dụng để trích xuấtPQConnectDB
Tùy chọn trong
Cung cấp chuỗi kèo bóng đá hôm nay và ngày mai. Giá trị trả về chỉ ra một
mảngPQConninFooptionCấu trúc, kèo bóng đá hôm nay và ngày mai thúc bằng một mục có nullTừ khóaCon trỏ.
Tất cả các tùy chọn pháp lý sẽ có mặt trong mảng kèo bóng đá hôm nay và ngày mai quả, NhưngPQConninFooptionĐối với bất kỳ tùy chọn không có trong chuỗi kèo bóng đá hôm nay và ngày mai sẽ cóValĐặt thànhnull; Giá trị mặc định không được chèn.
nếuerrmsgkhông phảiNULL, sau đó*errmsgđược đặt thànhnullThành công, khác để
Mộtmalloc
'D chuỗi lỗi
giải thích vấn đề. (Nó cũng có thể cho*errmsgđược đặt thànhnullvà hàm để trả vềnull; Điều này cho thấy một bộ nhớ ngoài
tình trạng.)
Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách vượt qua
nó đếnPQConninFofree
. Nếu điều này
không được thực hiện, một số bộ nhớ bị rò rỉ cho mỗi cuộc gọi đếnPQConnInfopars
. Ngược lại,
Nếu xảy ra lỗi vàerrmsgIS
khôngnull, Hãy chắc chắn giải phóng lỗi
Chuỗi sử dụngpqfreemem
.
pqfinish
Đóng kèo bóng đá hôm nay và ngày mai với máy chủ. Cũng giải phóng bộ nhớ Được sử dụng bởiPGConnĐối tượng.
void pqfinish (pgconn *Conn);
Lưu ý rằng ngay cả khi kèo bóng đá hôm nay và ngày mai máy chủ không cố
(như được chỉ ra bởipqstatus
),
Ứng dụng nên gọipqfinish
Để giải phóng bộ nhớ được sử dụng bởiPGConnĐối tượng. ThePGConnCon trỏ không được sử dụng lại
sau đópqfinish
đã được
gọi điện.
pqreset
Đặt lại kênh truyền thông cho máy chủ.
void pqreset (pgconn *Conn);
Chức năng này sẽ đóng kèo bóng đá hôm nay và ngày mai với máy chủ và cố gắng thiết lập lại một kèo bóng đá hôm nay và ngày mai mới với cùng một Máy chủ, sử dụng tất cả các tham số giống nhau được sử dụng trước đây. Cái này có thể hữu ích cho việc khôi phục lỗi nếu kèo bóng đá hôm nay và ngày mai làm việc bị mất.
pqresetstart
pqresetpoll
Đặt lại kênh truyền thông cho máy chủ, trong A cách không chặn.
int pqresetstart (pgconn *Conn); PostgrespollingStatusType PQResetPoll (PGConn *Conn);
Các chức năng này sẽ đóng kèo bóng đá hôm nay và ngày mai với máy chủ
và cố gắng thiết lập lại một kèo bóng đá hôm nay và ngày mai mới với cùng một
Máy chủ, sử dụng tất cả các tham số giống nhau được sử dụng trước đây. Cái này
có thể hữu ích cho việc khôi phục lỗi nếu kèo bóng đá hôm nay và ngày mai làm việc là
mất. Chúng khác vớipqreset
(ở trên) trong đó họ hành động trong một
cách không chặn. Các chức kèo bóng đá hôm nay và ngày mai này bị giống nhau
Hạn chế làPQConnectStartParams
, PQConnectStart
vàPQConnectPoll
.
Để bắt đầu đặt lại kèo bóng đá hôm nay và ngày mai, hãy gọipqresetstart
. Nếu nó trả về 0, thiết lập lại
đã thất bại. Nếu nó trả về 1, hãy bỏ phiếu đặt lại bằng cách sử dụngPQResetPoll
Trong chính xác
theo cách mà bạn sẽ tạo kèo bóng đá hôm nay và ngày mai bằng cách sử dụngPQConnectPoll
.
PQPingParams
PQPingParams
Báo cáo
trạng thái của máy chủ. Nó chấp nhận các tham số kèo bóng đá hôm nay và ngày mai
giống với những người củaPQConnectDBParams
, được mô tả ở trên. Nó là
Tuy nhiên, không cần thiết để cung cấp tên người dùng chính xác,
Mật khẩu hoặc giá trị tên cơ sở dữ kèo bóng đá hôm nay và ngày mai để có được máy chủ
trạng thái.
PGPing PQPingParams (const char * const * từ khóa, const char * const * giá trị, int expand_dbname);
Hàm trả về một trong các giá trị sau:
Máy chủ đang chạy và dường như đang chấp nhận kèo bóng đá hôm nay và ngày mai.
Máy chủ đang chạy nhưng ở trạng thái kèo bóng đá hôm nay và ngày mai không hoàn toàn (khởi động, tắt máy hoặc sự cố sự hồi phục).
Máy chủ không thể liên hệ. Điều này có thể chỉ ra rằng máy chủ không chạy hoặc Có điều gì đó sai với kèo bóng đá hôm nay và ngày mai đã cho tham số (ví dụ: số cổng sai) hoặc đó Có một vấn đề kèo bóng đá hôm nay và ngày mai mạng (ví dụ, Tường lửa chặn yêu cầu kèo bóng đá hôm nay và ngày mai).
Không có nỗ lực nào được thực hiện để liên hệ với máy chủ, vì các tham số được cung cấp rõ ràng là không chính xác hoặc Có một số vấn đề phía khách hàng (ví dụ, của bộ nhớ).
PQPing
PQPing
Báo cáo trạng thái
của máy chủ. Nó chấp nhận các tham số kèo bóng đá hôm nay và ngày mai giống hệt
cho những ngườiPQConnectDB
,,
mô tả ở trên. Tuy nhiên, không cần thiết để cung cấp
đúng tên người dùng, mật khẩu hoặc giá trị tên cơ sở dữ kèo bóng đá hôm nay và ngày mai thành
có được trạng thái máy chủ.
pgping pqping (const char *conninfo);
Giá trị trả về giống như đối vớiPQPingParams
.
vàilibpqchức năng Phân tích một chuỗi do người dùng chỉ định để có được các tham số kèo bóng đá hôm nay và ngày mai. Có hai định dạng được chấp nhận cho các chuỗi sau: trơntừ khóa = valuechuỗi vàRFC 3986uris.
Ở định dạng đầu tiên, mỗi cài đặt tham số ở dạngTừ khóa = value. Không gian xung quanh Dấu hiệu bằng nhau là tùy chọn. Để viết một giá trị trống hoặc một giá trị chứa khoảng trắng, bao quanh nó với các trích dẫn đơn, ví dụ:Từ khóa = 'A Value'. Trích dẫn đơn và các dấu gạch chéo ngược trong giá trị phải được thoát ra với một Backslash, tức là,\ 'và\.
Ví dụ:
host = port localhost = 5432 dbname = MyDB Connect_Timeout = 10
Các từ khóa tham số được công nhận được liệt kê trongPhần 31.1.2.
biểu mẫu chung cho kèo bóng đá hôm nay và ngày maiURIIS:
40643_40726
TheuriĐề án người chỉ định có thể làPostgresql: //hoặcPostgres: //. MỗiURICác bộ phận là tùy chọn. Sau đây Ví dụ minh họa hợp lệuriCú pháp sử dụng:
POSTGRESQL: // Postgresql: // Localhost Postgresql: // Localhost: 5433 Postgresql: // Localhost/MyDB Postgresql: // user@localhost Postgresql: // Người dùng: Secret@localhost postgresql: // other@localhost/otherdb? Connect_timeout = 10 & application_name = myApp
Các thành phần của phần phân cấp củaURIcũng có thể được đưa ra dưới dạng tham số. Vì ví dụ:
Postgresql: /// mydb? Host = localhost & port = 5433
Mã hóa phần trăm có thể được sử dụng để bao gồm các ký hiệu với Ý nghĩa đặc biệt trong bất kỳuricác bộ phận.
Bất kỳ tham số kèo bóng đá hôm nay và ngày mai nào không tương ứng với các từ khóa được liệt kê trongPhần 31.1.2bị bỏ qua và một thông báo cảnh báo về chúng được gửi đếnstderr.
Để cải thiện khả năng tương thích với kèo bóng đá hôm nay và ngày mai JDBCuris, các trường hợp của tham sốssl = trueđược dịch vào trongSSLMode = Yêu cầu.
Phần máy chủ có thể là tên máy chủ hoặc địa chỉ IP. ĐẾN Chỉ định địa chỉ máy chủ IPv6, đặt nó theo hình vuông dấu ngoặc:
Postgresql: // [2001: DB8 :: 1234]/cơ sở dữ kèo bóng đá hôm nay và ngày mai
Thành phần máy chủ được giải thích như được mô tả cho tham sốhost. TRONG đặc biệt, một kèo bóng đá hôm nay và ngày mai ổ cắm miền đơn vị được chọn nếu phần máy chủ trống hoặc bắt đầu bằng một dấu gạch chéo, nếu không kèo bóng đá hôm nay và ngày mai TCP/IP được bắt đầu. Lưu ý, tuy nhiên, sự chém là một đặc tính dành riêng trong phần phân cấp của URI. Vì vậy, để chỉ định một thư mục ổ cắm miền Unix không chuẩn, hoặc bỏ qua đặc tả máy chủ trong URI và chỉ định máy chủ dưới dạng tham số hoặc phần trăm mã hóa đường dẫn trong máy chủ Thành phần của URI:
postgresql: /// dbname? Host =/var/lib/postgresql PostgreSql: //%2FVAR%2Flib%2FPostgresql/dbname
Các từ khóa tham số hiện được nhận ra là:
Tên của máy chủ để kèo bóng đá hôm nay và ngày mai với. Nếu điều này bắt đầu với một chém, nó chỉ định giao tiếp miền đơn hơn là Truyền thông TCP/IP; Giá trị là tên của thư mục trong đó tệp ổ cắm được lưu trữ. Mặc định hành vi khihostkhông được chỉ định là kèo bóng đá hôm nay và ngày mai với ổ cắm miền đơn vị trong/TMP(hoặc bất kỳ ổ cắm nào thư mục đã được chỉ định khiPostgreSQLđã được xây dựng). Trên máy Không có ổ cắm tên miền Unix, mặc định là kèo bóng đá hôm nay và ngày mai vớiLocalhost.
Địa chỉ IP số của máy chủ để kèo bóng đá hôm nay và ngày mai với. Điều này nên ở định dạng địa chỉ IPv4 tiêu chuẩn, ví dụ:172.28.40.9. Nếu máy của bạn hỗ trợ IPv6, bạn cũng có thể sử dụng các địa chỉ đó. TCP/IP giao tiếp luôn được sử dụng khi một chuỗi không trống được chỉ định cho tham số này.
Sử dụnghostaddrthay vìhostCho phép ứng dụng tránh tìm kiếm tên máy chủ, điều này có thể quan trọng trong Các ứng dụng có hạn chế về thời gian. Tuy nhiên, một tên máy chủ được yêu cầu cho xác thực Kerberos, GSSAPI hoặc SSPI các phương thức, cũng như choxác minh-đầy đủXác minh chứng chỉ SSL. Các quy tắc sau được sử dụng:
nếumáy chủđược chỉ định không cóhostaddr, một máy chủ Tra cứu tên xảy ra.
nếuhostaddrđược chỉ định không cóhost, giá trị chohostaddrCung cấp cho máy chủ địa chỉ mạng. Nỗ lực kèo bóng đá hôm nay và ngày mai sẽ thất bại nếu Phương thức xác thực yêu cầu tên máy chủ.
Nếu cả haihostvàhostaddrđược chỉ định, Giá trị chohostaddrđưa ra Địa chỉ mạng máy chủ. Giá trị chohostbị bỏ qua trừ khi Phương pháp xác thực yêu cầu nó, trong trường hợp đó sẽ được sử dụng làm tên máy chủ.
Lưu ý rằng xác thực có khả kèo bóng đá hôm nay và ngày mai thất bại nếuhostkhông phải là tên của Máy chủ tại địa chỉ mạnghostaddr. Ngoài ra, lưu ý rằnghostthay vìhostaddrđược sử dụng để xác định kèo bóng đá hôm nay và ngày mai trong~/.pgass(xemPhần 31.15).
Không có tên máy chủ hoặc địa chỉ máy chủ,libpqSẽ kèo bóng đá hôm nay và ngày mai bằng cách sử dụng một ổ cắm miền đơn vị địa phương; hoặc trên máy không có Ổ cắm Unix-miền, nó sẽ cố gắng kèo bóng đá hôm nay và ngày mai vớiLocalhost.
Số cổng để kèo bóng đá hôm nay và ngày mai với máy chủ máy chủ hoặc Tiện ích mở rộng tên tệp của ổ cắm cho Unix-Domain kèo bóng đá hôm nay và ngày mai.
Tên cơ sở dữ kèo bóng đá hôm nay và ngày mai. Mặc định giống như người dùng tên. Trong một số bối cảnh nhất định, giá trị được kiểm tra định dạng mở rộng; nhìn thấyPhần 31.1.1Để biết thêm chi tiết về những điều đó.
PostgreSQLTên người dùng để kèo bóng đá hôm nay và ngày mai như. Mặc định giống như hoạt động Tên hệ thống của người dùng đang chạy ứng dụng.
Mật khẩu sẽ được sử dụng nếu máy chủ yêu cầu mật khẩu xác thực.
Chờ tối đa để kèo bóng đá hôm nay và ngày mai, tính bằng giây (viết dưới dạng a Chuỗi số nguyên thập phân). Không hoặc không được chỉ định có nghĩa là chờ đợi vô thời hạn. Không nên sử dụng thời gian chờ của ít hơn 2 giây.
Điều này đặtclient_encodingTham số cấu hình cho kèo bóng đá hôm nay và ngày mai này. Ngoài ra với các giá trị được chấp nhận bởi máy chủ tương ứng tùy chọn, bạn có thể sử dụngAutođến xác định mã hóa phù hợp từ địa phương hiện tại trong máy khách (lc_ctypeMôi trường Biến trên các hệ thống UNIX).
Thêm tùy chọn dòng lệnh để gửi đến máy chủ tại thời gian chạy. Ví dụ: đặt cái này thành-c geqo = offĐặt giá trị phiên của Thegeqotham số đếnTẮT. Cho một cuộc thảo luận chi tiết về Các tùy chọn có sẵn, tham khảoChương 18.
Chỉ định giá trị choapplication_nameTham số cấu hình.
Chỉ định giá trị dự phòng choapplication_nameTham số cấu hình. Giá trị này sẽ được sử dụng nếu không Giá trị đã được đưa ra choapplication_namethông qua kèo bóng đá hôm nay và ngày mai tham số hoặcPGAPPNAMEBiến môi trường. Chỉ định một tên dự phòng là hữu ích trong các chương trình tiện ích chung muốn thiết lập Tên ứng dụng mặc định nhưng cho phép nó được ghi đè bởi người dùng.
Kiểm soát xem các thiết bị giữ TCP phía máy khách có được sử dụng hay không. Giá trị mặc định là 1, có nghĩa là bật, nhưng bạn có thể thay đổi Điều này đến 0, có nghĩa là tắt, nếu không muốn. Tham số này bị bỏ qua cho các kèo bóng đá hôm nay và ngày mai được thực hiện thông qua Ổ cắm unix-lomain.
Kiểm soát số giây không hoạt động sau khi TCP nào sẽ gửi một thông báo giữ cho máy chủ. Giá trị bằng 0 sử dụng mặc định hệ thống. Tham số này bị bỏ qua cho các kèo bóng đá hôm nay và ngày mai được thực hiện thông qua ổ cắm tên miền Unix, hoặc nếu giữ hàng bị vô hiệu hóa. Nó chỉ được hỗ trợ trên các hệ thống trong đóTCP_Keepidlehoặc một Tùy chọn ổ cắm tương đương có sẵn và trên Windows; TRÊN các hệ thống khác, nó không có tác dụng.
Điều khiển số giây sau đó TCP Thông điệp giữ không được máy chủ thừa nhận nên được truyền lại. Giá trị bằng 0 sử dụng hệ thống mặc định. Tham số này bị bỏ qua cho các kèo bóng đá hôm nay và ngày mai được thực hiện thông qua ổ cắm tên miền Unix, hoặc nếu giữ hàng bị vô hiệu hóa. Nó chỉ được hỗ trợ trên các hệ thống trong đóTCP_KeepIntVLhoặc ổ cắm tương đương Tùy chọn có sẵn và trên Windows; Trên các hệ thống khác, nó không có tác dụng.
Kiểm soát số lượng Keepalive TCP có thể bị mất Trước khi kèo bóng đá hôm nay và ngày mai của máy khách với máy chủ là được coi là chết. Giá trị bằng 0 sử dụng mặc định hệ thống. Tham số này bị bỏ qua cho các kèo bóng đá hôm nay và ngày mai được thực hiện thông qua Ổ cắm tên miền Unix, hoặc nếu Keepalives bị vô hiệu hóa. Nó là chỉ được hỗ trợ trên các hệ thống trong đótcp_keepcnthoặc tùy chọn ổ cắm tương đương có sẵn; Trên các hệ thống khác, nó không có tác dụng.
Bỏ qua (trước đây, được chỉ định là nơi gửi máy chủ đầu ra gỡ lỗi).
Tùy chọn này xác định xem có ưu tiên nào chắc chắnSSLTCP/IP kèo bóng đá hôm nay và ngày mai sẽ được đàm phán với máy chủ. Có Sáu chế độ:
Chỉ thử khôngSSLkèo bóng đá hôm nay và ngày mai
Đầu tiên hãy thử khôngSSLkèo bóng đá hôm nay và ngày mai; Nếu điều đó thất bại, thử mộtSSLkèo bóng đá hôm nay và ngày mai
Đầu tiên hãy thửSSLkèo bóng đá hôm nay và ngày mai; Nếu điều đó thất bại, Thử khôngSSLkèo bóng đá hôm nay và ngày mai
Chỉ thửSSLkèo bóng đá hôm nay và ngày mai. Nếu một gốc Ca Tệp có mặt, xác minh chứng chỉ trong cùng một cách như thểXác minh-CAwas được chỉ định
chỉ thửSSLkèo bóng đá hôm nay và ngày mai và xác minh điều đó Chứng chỉ máy chủ được cấp bởi một người đáng tin cậy Cơ quan chứng chỉ (CA)
chỉ thửSSLkèo bóng đá hôm nay và ngày mai, xác minh rằng Chứng chỉ máy chủ được cấp bởi một người đáng tin cậyCAVà đó là Tên máy chủ máy chủ phù hợp với giấy chứng nhận
xemPhần 31,18cho a Mô tả chi tiết về cách các tùy chọn này hoạt động.
SSLModebị bỏ qua cho Unix Giao tiếp ổ cắm miền. Nếu nhưPostgreSQLđược biên dịch mà không có SSL Hỗ trợ, sử dụng Tùy chọnYêu cầu, Xác minh-CAhoặcxác minh-đầy đủsẽ gây ra lỗi, trong khi tùy chọncho phépvàưa thíchsẽ được chấp nhận nhưnglibpqsẽ không thực sự thửSSLkèo bóng đá hôm nay và ngày mai.
Tùy chọn này không được ủng hộ theo hướngSSLModeCài đặt.
Nếu được đặt thành 1, anSSLkèo bóng đá hôm nay và ngày mai với máy chủ là bắt buộc (điều này tương đương ĐẾNSSLMode Yêu cầu).libpqSau đó sẽ từ chối kèo bóng đá hôm nay và ngày mai nếu máy chủ không chấp nhậnSSLkèo bóng đá hôm nay và ngày mai. Nếu được đặt thành 0 (mặc định),libpqWill Thương lượng loại kèo bóng đá hôm nay và ngày mai với máy chủ (tương đương ĐẾNSSLMode ưa thích). Tùy chọn này chỉ khả dụng nếuPostgreSQLđược biên soạn với hỗ trợ SSL.
Nếu được đặt thành 1 (mặc định), dữ liệu được gửi qua các kèo bóng đá hôm nay và ngày mai SSL sẽ được nén (điều này yêu cầuOpenSSLPhiên bản 0.9.8 trở lên). Nếu như được đặt thành 0, nén sẽ bị vô hiệu hóa (điều này yêu cầuOpenSSL1.0.0 trở lên). Tham số này bị bỏ qua nếu kèo bóng đá hôm nay và ngày mai không có SSL là được thực hiện hoặc nếu phiên bản củaOpenSSLĐược sử dụng không hỗ trợ Nó.
Nén sử dụng thời gian CPU, nhưng có thể cải thiện thông lượng Nếu mạng là nút cổ chai. Vô hiệu hóa nén có thể cải thiện thời gian phản hồi và thông lượng nếu CPU Hiệu suất là yếu tố giới hạn.
Tham số này chỉ định tên tệp của máy khách Chứng chỉ SSL, thay thế mặc định~/.Postgresql/postgresql.crt. Cái này tham số bị bỏ qua nếu kèo bóng đá hôm nay và ngày mai SSL không làm ra.
Tham số này chỉ định vị trí cho bí mật Khóa được sử dụng cho chứng chỉ máy khách. Nó có thể chỉ định tên tệp sẽ được sử dụng thay vì mặc định~/.Postgresql/postgresql.keyhoặc nó có thể Chỉ định một khóa thu được từ bên ngoài"động cơ"(Động cơ làOpenSSLMô -đun có thể tải). MỘT Thông số kỹ thuật động cơ bên ngoài nên bao gồm một Tên động cơ được phân tách đại tràng và một phím dành riêng cho động cơ định danh. Tham số này bị bỏ qua nếu một SSL kèo bóng đá hôm nay và ngày mai không được thực hiện.
Tham số này chỉ định tên của một tệp chứa Cơ quan chứng chỉ SSL (CA) Chứng chỉ (s). Nếu tập tin tồn tại, chứng chỉ của máy chủ sẽ được xác minh là có chữ ký của một trong những cơ quan này. Mặc định là~/.Postgresql/root.crt.
Tham số này chỉ định tên tệp của SSL Danh sách thu hồi chứng chỉ (CRL). Giấy chứng nhận được liệt kê trong Tệp này, nếu nó tồn tại, sẽ bị từ chối trong khi cố gắng xác thực chứng chỉ của máy chủ. Các Mặc định là~/.Postgresql/root.crl.
Tham số này chỉ định người dùng hệ điều hành Tên của máy chủ, ví dụaberpeer = postgres. Khi làm a kèo bóng đá hôm nay và ngày mai ổ cắm tên miền Unix, nếu tham số này được đặt, máy khách kiểm tra ở đầu kèo bóng đá hôm nay và ngày mai Quá trình máy chủ đang chạy theo người dùng được chỉ định tên; Nếu không, kèo bóng đá hôm nay và ngày mai bị hủy bỏ với lỗi. Tham số này có thể được sử dụng để cung cấp máy chủ Xác thực tương tự như có sẵn với SSL Chứng chỉ trên kèo bóng đá hôm nay và ngày mai TCP/IP. (Lưu ý rằng nếu Ổ cắm unix-lomain ở trong/TMPhoặc một vị trí có thể ghi công khai khác, bất kỳ người dùng nào cũng có thể Bắt đầu một máy chủ lắng nghe ở đó. Sử dụng tham số này để đảm bảo rằng bạn được kèo bóng đá hôm nay và ngày mai với một máy chủ được chạy bởi một Người dùng đáng tin cậy.) Tùy chọn này chỉ được hỗ trợ trên các nền tảng màPeerPhương pháp xác thực được thực hiện; nhìn thấyPhần 19.3.7.
Tên dịch vụ Kerberos sẽ sử dụng khi xác thực với Kerberos 5 hoặc GSSAPI. Điều này phải phù hợp với tên dịch vụ được chỉ định trong cấu hình máy chủ cho Kerberos xác thực để thành công. (Xem thêmPhần 19.3.5vàPhần 19.3.3.)
Thư viện GSS để sử dụng để xác thực GSSAPI. Chỉ một Được sử dụng trên Windows. Đặt thànhGSSAPIĐể buộc LibPQ sử dụng thư viện GSSAPI cho Xác thực thay vì SSPI mặc định.
Tên dịch vụ để sử dụng cho các tham số bổ sung. Nó Chỉ định tên dịch vụ trongpg_service.confgiữ thêm tham số kèo bóng đá hôm nay và ngày mai. Điều này cho phép các ứng dụng Chỉ xác định tên dịch vụ để các tham số kèo bóng đá hôm nay và ngày mai có thể được duy trì tập trung. Nhìn thấyPhần 31.16.