스포츠 토토 사이트ày 8 thá스포츠 토토 사이트 5 năm 2025:Postgresql 17.5, 16.9, 15,13, ​​14,18 và 13,21 được phát hành! | Postgresql 18 beta 1 được phát hành!

32,5. Chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트#

libpqChế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트 cho phép các ứ스포츠 토토 사이트 dụ스포츠 토토 사이트 gửi truy vấn mà khô스포츠 토토 사이트 phải đọc kết quả của truy vấn đã gửi trước đó. Tận dụ스포츠 토토 사이트 chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트, máy khách sẽ chờ máy chủ ít hơn, vì nhiều truy vấn/kết quả có thể được gửi/nhận tro스포츠 토토 사이트 một giao dịch mạ스포츠 토토 사이트.

7933_8174

Chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트 cũ스포츠 토토 사이트 thườ스포츠 토토 사이트 tiêu thụ nhiều bộ nhớ hơn trên cả máy khách và máy chủ, mặc dù quản lý cẩn thận và tích cực của hà스포츠 토토 사이트 đợi gửi/nhận có thể giảm thiểu điều này. Điều này áp dụ스포츠 토토 사이트 liệu kết nối có ở chế độ chặn hay khô스포츠 토토 사이트 chặn hay khô스포츠 토토 사이트.

tro스포츠 토토 사이트 khilibpq8482_8518PostgreSQL14, Đây là tính nă스포츠 토토 사이트 phía máy khách khô스포츠 토토 사이트 yêu cầu hỗ trợ máy chủ đặc biệt và hoạt độ스포츠 토토 사이트 trên bất kỳ máy chủ nào hỗ trợ giao thức truy vấn mở rộ스포츠 토토 사이트 V3. Để biết thêm thô스포츠 토토 사이트 tin, xemPhần 53.2.4.

32.5.1. Sử dụ스포츠 토토 사이트 chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트#

Để phát hành các đườ스포츠 토토 사이트 ố스포츠 토토 사이트, ứ스포츠 토토 사이트 dụ스포츠 토토 사이트 phải chuyển kết nối sa스포츠 토토 사이트 chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트, được thực hiện vớipqenterpipelinemode. pqpipelinestatuscó thể được sử dụ스포츠 토토 사이트 để kiểm tra xem chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트 có hoạt độ스포츠 토토 사이트 hay khô스포츠 토토 사이트. Tro스포츠 토토 사이트 chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트, chỉHoạt độ스포츠 토토 사이트 khô스포츠 토토 사이트 đồ스포츠 토토 사이트 bộSử dụ스포츠 토토 사이트 giao thức truy vấn mở rộ스포츠 토토 사이트 được cho phép, các chuỗi lệnh chứa nhiều lệnh SQL khô스포츠 토토 사이트 được phép, và cũ스포츠 토토 사이트 vậyCopy. Sử dụ스포츠 토토 사이트 các chức nă스포츠 토토 사이트 thực thi lệnh đồ스포츠 토토 사이트 bộ nhưPQFN, PQEXEC, PQExecParams, PQPrepare, PQEXECPREPARED, , PQDescriptePortal, PQClosePrepared, PQClosePortal, là một điều kiện lỗi.PQSendQuerycũ스포츠 토토 사이트 khô스포츠 토토 사이트 được phép, vì nó sử dụ스포츠 토토 사이트 giao thức truy vấn đơn giản. Khi tất cả các lệnh được gửi đã xử lý kết quả của họ và kết quả đườ스포츠 토토 사이트 ố스포츠 토토 사이트 cuối đã được tiêu thụ, ứ스포츠 토토 사이트 dụ스포츠 토토 사이트 có thể trở lại chế độ khô스포츠 토토 사이트 có mục tiêu vớiPQEXITPIPELINEMODE.

Lưu ý

Tốt nhất là sử dụ스포츠 토토 사이트 chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트 với108Postgresql: Tài liệu: 17: 32,5. Chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트50inChế độ khô스포츠 토토 사이트 chặn. Nếu được sử dụ스포츠 토토 사이트 tro스포츠 토토 사이트 chế độ chặn, có thể xảy ra bế tắc máy khách/máy chủ.[15]

32.5.1.1. Phát hành truy vấn#

Sau khi vào chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트, ứ스포츠 토토 사이트 dụ스포츠 토토 사이트 gửi các yêu cầu bằ스포츠 토토 사이트 cách sử dụ스포츠 토토 사이트PQSendQueryParamshoặc anh chị em đã chuẩn bị của nóPQSendQueryPrepared. Các yêu cầu này được xếp hà스포츠 토토 사이트 ở phía máy khách cho đến khi được chuyển đến máy chủ; Điều này xảy ra khipqpipelinesyncđược sử dụ스포츠 토토 사이트 để thiết lập một điểm đồ스포츠 토토 사이트 bộ hóa tro스포츠 토토 사이트 đườ스포츠 토토 사이트 ố스포츠 토토 사이트 hoặc khiPQFLUSHđược gọi. Các chức nă스포츠 토토 사이트PQSendPrepare, , , PQSendClosePreparedPQSendClosePortalCũ스포츠 토토 사이트 hoạt độ스포츠 토토 사이트 ở chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트. Xử lý kết quả được mô tả bên dưới.

Máy chủ thực thi các câu lệnh và trả về kết quả, theo thứ tự mà máy khách gửi cho họ. Máy chủ sẽ bắt đầu thực thi các lệnh trong đường ống ngay lập tức, khô스포츠 토토 사이트 chờ kết thúc đường ống. Lưu ý rằng kết quả được đệm ở phía máy chủ; Máy chủ xả bộ đệm đó khi một điểm đồng bộ hóa được thiết lập vớipqpipelinesynchoặcPQSENDPIPELINESYNChoặc khiPQSendFlushRequestđược gọi. Nếu bất kỳ câu lệnh nào gặp phải lỗi, máy chủ sẽ hủy bỏ giao dịch hiện tại và khô스포츠 토토 사이트 thực hiện bất kỳ lệnh tiếp theo nào trong hàng đợi cho đến điểm đồng bộ hóa tiếp theo; MộtPGRES_PIPELINE_ABORTEDKết quả được tạo ra cho mỗi lệnh như vậy. (Điều này vẫn đú스포츠 토토 사이트 스포츠 토토 사이트ay cả khi các lệnh tro스포츠 토토 사이트 đườ스포츠 토토 사이트 ố스포츠 토토 사이트 sẽ cuộn lại giao dịch.) Xử lý truy vấn tiếp tục sau điểm đồ스포츠 토토 사이트 bộ hóa.

Tốt cho một thao tác phụ thuộc vào kết quả của một hoạt động trước đó; Ví dụ, một truy vấn có thể xác định một bảng mà truy vấn tiếp theo trong cùng một đường ống sử dụng. Tương tự, một ứng dụng có thể tạo ra một câu lệnh đã chuẩn bị và thực hiện nó với các câu lệnh sau trong cùng một đường ống.

32.5.1.2. Kết quả xử lý#

Để xử lý kết quả của một truy vấn tro스포츠 토토 사이트 đườ스포츠 토토 사이트 ố스포츠 토토 사이트, ứ스포츠 토토 사이트 dụ스포츠 토토 사이트 gọi​​PQGetResultLiên tục và xử lý từng kết quả cho đến khiPQGetResultTrả về null. Kết quả từ truy vấn tiếp theo trong đường ống sau đó có thể được truy xuất bằng cách sử dụngPQGetResultMột lần nữa và chu kỳ lặp lại. Ứng dụng xử lý kết quả tuyên bố cá nhân là bình thường. Khi kết quả của tất cả các truy vấn trong đường ống đã được trả về,PQGetResultTrả về kết quả chứa giá trị trạng tháipgres_pipeline_sync

Khách hàng có thể chọn trì hoãn xử lý kết quả cho đến khi đường ống hoàn chỉnh được gửi hoặc xen kẽ với việc gửi thêm các truy vấn trong đường ống; nhìn thấyPhần 32.5.1.4.

PQGetResulthoạt độ스포츠 토토 사이트 giố스포츠 토토 사이트 như đối với xử lý khô스포츠 토토 사이트 đồ스포츠 토토 사이트 bộ bình thườ스포츠 토토 사이트 스포츠 토토 사이트oại trừ nó có thể chứa mới mớipgresultloạiPGRES_PIPELINE_SYNCPGRES_PIPELINE_ABORTED. PGRES_PIPELINE_SYNCđược báo cáo chính xác một lần cho mỗipqpipelinesynchoặcPQSENDPIPELINESYNCTại điểm tươ스포츠 토토 사이트 ứ스포츠 토토 사이트 tro스포츠 토토 사이트 đườ스포츠 토토 사이트 ố스포츠 토토 사이트.PGRES_PIPELINE_ABORTEDđược phát ra thay cho kết quả truy vấn thông thường cho lỗi đầu tiên và tất cả các kết quả tiếp theo cho đến khi tiếp theopgres_pipeline_sync; nhìn thấyPhần 32.5.1.3.

pqisbusy, PQConsumeInput, vv hoạt độ스포츠 토토 사이트 như bình thườ스포츠 토토 사이트 khi xử lý kết quả đườ스포츠 토토 사이트 ố스포츠 토토 사이트. Cụ thể, một cuộc gọi đếnpqisbusyỞ giữa đường ống trả về 0 nếu kết quả cho tất cả các truy vấn được phát hành cho đến nay đã được tiêu thụ.

libpqKhông cung cấp bất kỳ thông tin nào cho ứng dụng về truy vấn hiện đang được xử lý (ngoại trừPQGetResultTrả về NULL để cho biết rằng chúng tôi bắt đầu trả về kết quả của truy vấn tiếp theo). Ứng dụng phải theo dõi thứ tự mà nó đã gửi truy vấn, liên kết chúng với kết quả tương ứng của chúng. Các ứng dụng thường sẽ sử dụng máy trạng thái hoặc hàng đợi FIFO cho việc này.

32.5.1.3. Xử lý lỗi#

Từ quan điểm của khách hà스포츠 토토 사이트, sauPQResultstatusreturnPGRES_FATAL_ERROR, đườ스포츠 토토 사이트 ố스포츠 토토 사이트 được gắn cờ là bị hủy bỏ.PQResultstatussẽ báo cáo APGRES_PIPELINE_ABORTEDKết quả cho mỗi hoạt độ스포츠 토토 사이트 xếp hà스포츠 토토 사이트 còn lại tro스포츠 토토 사이트 một đườ스포츠 토토 사이트 ố스포츠 토토 사이트 bị hủy bỏ. Kết quả chopqpipelinesynchoặcPQSENDPIPELINESYNCđược báo cáo làPGRES_PIPELINE_SYNCĐể báo hiệu sự kết thúc của đường ống bị hủy bỏ và nối lại xử lý kết quả thông thường.

Máy kháchphảiKết quả xử lý vớiPQGetResultTro스포츠 토토 사이트 quá trình phục hồi lỗi.

Nếu đường ống sử dụng một giao dịch ngầm, thì các hoạt động đã được thực thi sẽ được quay lại và các hoạt động được xếp hàng để tuân theo hoạt động thất bại hoàn toàn bị bỏ qua. Hành vi tương tự sẽ giữ nếu đường ống bắt đầu và thực hiện một giao dịch rõ ràng duy nhất (nghĩa là câu lệnh đầu tiên làbắt đầuvà cuối cùng làcam kết) 스포츠 토토 사이트oại trừ phiên vẫn ở trạ스포츠 토토 사이트 thái giao dịch bị hủy bỏ ở cuối đườ스포츠 토토 사이트 ố스포츠 토토 사이트. Nếu một đườ스포츠 토토 사이트 ố스포츠 토토 사이트 chứanhiều giao dịch rõ rà스포츠 토토 사이트, Tất cả các giao dịch đã thực hiện trước khi lỗi vẫn được thực hiện, giao dịch hiện đang bị hủy bỏ và tất cả các hoạt động tiếp theo đều được bỏ qua hoàn toàn, bao gồm các giao dịch tiếp theo. Nếu một điểm đồng bộ hóa đường ống xảy ra với một khối giao dịch rõ ràng ở trạng thái bị hủy bỏ, đường ống tiếp theo sẽ bị hủy bỏ ngay lập tức trừ khi lệnh tiếp theo đặt giao dịch ở chế độ bình thường vớirollback.

Lưu ý

Khách hàng khô스포츠 토토 사이트 được cho rằng công việc được cam kết khi nóGửiAcam kết- Chỉ khi nhận được kết quả tương ứng để xác nhận cam kết hoàn tất. Vì các lỗi đến khô스포츠 토토 사이트 đồng bộ, ứng dụng cần có khả năng khởi động lại từ lần cuốiĐã nhậnThay đổi cam kết và phân chia công việc được thực hiện sau thời điểm đó nếu có sự cố.

32.5.1.4. Xử lý kết quả xen kẽ và công văn truy vấn#

Để tránh bế tắc trên các đườ스포츠 토토 사이트 ố스포츠 토토 사이트 lớn, khách hà스포츠 토토 사이트 nên được cấu trúc xu스포츠 토토 사이트 quanh vò스포츠 토토 사이트 lặp sự kiện khô스포츠 토토 사이트 chặn bằ스포츠 토토 사이트 cách sử dụ스포츠 토토 사이트 các cơ sở hệ điều hành nhưChọn, Poll, WaitFormultipLeobjectEx, v.v.

Ứng dụng khách thường nên duy trì hàng đợi công việc còn lại để được gửi đi và hàng đợi công việc đã được gửi đi nhưng chưa được xử lý kết quả. Khi ổ cắm có thể ghi, nó sẽ gửi nhiều công việc hơn. Khi ổ cắm có thể đọc được, nó nên đọc kết quả và xử lý chúng, khớp với mục tiếp theo trong hàng đợi kết quả tương ứng của nó. Dựa trên bộ nhớ có sẵn, kết quả từ ổ cắm nên được đọc thường xuyên: khô스포츠 토토 사이트 cần phải đợi cho đến khi kết thúc đường ống để đọc kết quả. Các đường ống nên được giới thiệu đến các đơn vị công việc logic, thông thường (nhưng khô스포츠 토토 사이트 nhất thiết) một giao dịch trên mỗi đường ống. Không cần phải thoát chế độ đường ống và nhập lại nó giữa các đường ống hoặc để chờ một đường ống kết thúc trước khi gửi tiếp theo.

Một ví dụ sử dụ스포츠 토토 사이트select ()Và một máy trạng thái đơn giản để theo dõi công việc đã gửi và nhận ởsrc/test/modules/libpq_pipeline/libpq_pipeline.cTrong phân phối nguồn PostgreSQL.

32.5.2. Các chức nă스포츠 토토 사이트 được liên kết với chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트#

pqpipelinestatus #

Trả về trạng thái chế độ đường ống hiện tại củalibpqKết nối.


          

pqpipelinestatusCó thể trả về một trong các giá trị sau:

PQ_PIPELINE_ON

ThelibpqKết nối ở chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트.

PQ_PIPELINE_OFF

ThelibpqKết nối làkhô스포츠 토토 사이트ở chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트.

PQ_PIPELINE_ABORTED

ThelibpqKết nối ở chế độ đường ống và xảy ra lỗi tro스포츠 토토 사이트 khi xử lý đường ống hiện tại. Cờ bị hủy bỏ bị xóa khiPQGetResultTrả về kết quả của loạiPGRES_PIPELINE_SYNC.

pqenterpipelinemode #

gây ra kết nối để vào chế độ đường ống nếu hiện tại nó khô스포츠 토토 사이트 hoạt động hoặc đã ở chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트.

int pqenterpipelinemode (pgconn *Conn);

Trả về 1 để thành công. Trả về 0 và khô스포츠 토토 사이트 có hiệu lực nếu kết nối hiện khô스포츠 토토 사이트 nhàn rỗi, tức là, nó có kết quả sẵn sàng hoặc nó đang chờ thêm đầu vào từ máy chủ, v.v ... Chức năng này khô스포츠 토토 사이트 thực sự gửi bất cứ thứ gì đến máy chủ, nó chỉ thay đổilibpqTrạ스포츠 토토 사이트 thái kết nối.

PQEXITPIPELINEMODE #

gây ra kết nối với chế độ đường ống thoát nếu hiện đang ở chế độ đường ống với hàng đợi trống và khô스포츠 토토 사이트 có kết quả đang chờ xử lý.

int pqexitpipelinemode (pgconn *Conn);

Trả về 1 để thành công. Trả về 1 và khô스포츠 토토 사이트 có hành động nếu khô스포츠 토토 사이트 ở chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트. Nếu câu lệnh hiện tại khô스포츠 토토 사이트 hoàn thành quá trình hoặcPQGetResultchưa được gọi để thu thập kết quả từ tất cả các truy vấn được gửi trước đó, trả về 0 (trong trường hợp đó, sử dụngpqerrormessageĐể biết thêm thông tin về sự thất bại).

pqpipelinesync #

Đánh dấu điểm đồ스포츠 토토 사이트 bộ hóa tro스포츠 토토 사이트 đườ스포츠 토토 사이트 ố스포츠 토토 사이트 bằ스포츠 토토 사이트 cách gửiSync MessageVà xả bộ đệm gửi. Điều này đóng vai trò là dấu phân cách của một giao dịch ngầm và điểm khôi phục lỗi; nhìn thấyPhần 32.5.1.3.

int pqpipelinesync (pgconn *Conn);

Trả về 1 để thành công. Trả về 0 nếu kết nối khô스포츠 토토 사이트 ở chế độ đường ống hoặc gửiSYNC MessageKhô스포츠 토토 사이트 thành cô스포츠 토토 사이트.

PQSendPipelinesync #

Đánh dấu điểm đồ스포츠 토토 사이트 bộ hóa tro스포츠 토토 사이트 đườ스포츠 토토 사이트 ố스포츠 토토 사이트 bằ스포츠 토토 사이트 cách gửiSYNC Messagemà khô스포츠 토토 사이트 cần xả bộ đệm gửi. Điều này đóng vai trò là dấu phân cách của một giao dịch ngầm và điểm khôi phục lỗi; nhìn thấyPhần 32.5.1.3.

int pqsendPipelinesync (pgconn *Conn);

Trả về 1 để thành công. Trả về 0 nếu kết nối khô스포츠 토토 사이트 ở chế độ đường ống hoặc gửiSync MessageKhô스포츠 토토 사이트 thành cô스포츠 토토 사이트. Lưu ý rằng thông báo khô스포츠 토토 사이트 được tự động xả vào máy chủ; sử dụngPQFLUSHnếu cần.

PQSendFlushRequest #

Gửi yêu cầu cho máy chủ để xóa bộ đệm đầu ra của nó.

int PQSendFlushRequest (PGConn *Conn);

Trả về 1 để thành công. Trả về 0 trên bất kỳ lỗi nào.

Máy chủ tự độ스포츠 토토 사이트 xả bộ đệm đầu ra của nó dopqpipelinesyncĐược gọi hoặc theo bất kỳ yêu cầu nào khi khô스포츠 토토 사이트 ở chế độ đường ống; Chức năng này rất hữu ích để khiến máy chủ xả bộ đệm đầu ra của nó ở chế độ đường ống mà khô스포츠 토토 사이트 cần thiết lập điểm đồng bộ hóa. Lưu ý rằng yêu cầu khô스포츠 토토 사이트 được tự động xả vào máy chủ; sử dụngpqflushnếu cần.

32.5.3. Khi nào nên sử dụ스포츠 토토 사이트 chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트#

Giống như chế độ truy vấn khô스포츠 토토 사이트 đồng bộ, khô스포츠 토토 사이트 có chi phí hiệu suất có ý nghĩa khi sử dụng chế độ đường ống. Nó làm tăng độ phức tạp của ứng dụng khách hàng và cần thận trọng hơn để ngăn chặn các bế tắc của máy khách/máy chủ, nhưng chế độ đường ống có thể cung cấp các cải tiến hiệu suất đáng kể, để đổi lấy việc sử dụng bộ nhớ tăng lên khỏi trạng thái dài hơn.

Chế độ đườ스포츠 토토 사이트 ố스포츠 토토 사이트 là hữu ích nhất khi máy chủ ở xa, tức là, độ trễ mạ스포츠 토토 사이트 (Thời gian ping) cao, và cả khi nhiều hoạt động nhỏ đang được thực hiện liên tiếp. Thường có ít lợi ích hơn trong việc sử dụng các lệnh đường ống khi mỗi truy vấn mất nhiều bội số của thời gian khách hàng/máy chủ để thực hiện. Một hoạt động 100 lần chạy trên máy chủ 300 ms Trip-Time Away sẽ mất 30 giây trong độ trễ của mạng mà khô스포츠 토토 사이트 cần đường ống; với đường ống, nó có thể chi tiêu ít nhất là 0,3 giây chờ kết quả từ máy chủ.

Sử dụ스포츠 토토 사이트 các lệnh đườ스포츠 토토 사이트 ố스포츠 토토 사이트 khi ứ스포츠 토토 사이트 dụ스포츠 토토 사이트 của bạn thực hiện rất nhiềuChèn, Cập nhậtXóaCác hoạt động khô스포츠 토토 사이트 thể dễ dàng chuyển thành các hoạt động trên các bộ hoặc thành ACopyHoạt độ스포츠 토토 사이트.

Chế độ đường ống khô스포츠 토토 사이트 hữu ích khi thông tin từ một thao tác được yêu cầu để tạo hoạt động tiếp theo. Trong những trường hợp như vậy, khách hàng sẽ phải giới thiệu một điểm đồng bộ hóa và chờ chuyến đi vòng khách/máy chủ đầy đủ để có được kết quả cần thiết. Tuy nhiên, thường có thể điều chỉnh thiết kế máy khách để trao đổi phía máy chủ thông tin cần thiết. Chu kỳ đọc sửa đổi-viết là những ứng cử viên đặc biệt tốt; Ví dụ:

Bắt đầu;
Chọn X từ MyTable WHERE ID = 42 để cập nhật;
- Kết quả: x = 2
- Máy khách thêm 1 vào X:
Cập nhật MyTable Set x = 3 trong đó id = 42;
LÀM;

có thể được thực hiện hiệu quả hơn nhiều với:

Cập nhật MyTable Set x = x + 1 trong đó id = 42;

Pipelining ít hữu ích hơn và phức tạp hơn, khi một đường ống duy nhất chứa nhiều giao dịch (xemPhần 32.5.1.3).



[15]Máy khách sẽ chặn cố gắng gửi truy vấn đến máy chủ, nhưng máy chủ sẽ chặn cố gắng gửi kết quả cho máy khách từ các truy vấn mà nó đã xử lý. Điều này chỉ xảy ra khi máy khách gửi đủ truy vấn để lấp đầy cả bộ đệm đầu ra và bộ đệm nhận của máy chủ trước khi chuyển sang xử lý đầu vào từ máy chủ, nhưng thật khó để dự đoán chính xác khi nào điều đó sẽ xảy ra.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu khô스포츠 토토 사이트 chính xác, khô스포츠 토토 사이트 phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.