Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng kèo bóng đá hom nay trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá hom nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

52.1. Tổng kèo bóng đá hom nay

Giao thức có kèo bóng đá hom nay giai đoạn riêng để khởi động và hoạt động bình thường. Trong giai đoạn khởi động, Frontend mở kết nối với máy chủ và tự xác thực với sự hài lòng của máy chủ. . Ngoại trừ thông báo yêu cầu khởi động ban đầu, phần này của giao thức được điều khiển bởi máy chủ.

Trong quá trình hoạt động thông thường, Frontend gửi kèo bóng đá hom nay truy vấn và kèo bóng đá hom nay lệnh khác đến phụ trợ và phần phụ trợ gửi kết quả truy vấn trở lại và kèo bóng đá hom nay phản hồi khác. Có một vài trường hợp (chẳng hạn nhưThông báo) Trong đó phần phụ trợ sẽ gửi kèo bóng đá hom nay tin nhắn không mong muốn, nhưng phần lớn phần này của phiên này được điều khiển bởi kèo bóng đá hom nay yêu cầu Frontend.

Việc chấm dứt phiên thường là do sự lựa chọn của Frontend, nhưng có thể bị ép buộc bởi phụ trợ trong kèo bóng đá hom nay số trường hợp nhất định. Trong mọi trường hợp, khi phụ trợ đóng kết nối, nó sẽ quay lại bất kỳ giao dịch mở (không đầy đủ) trước khi thoát.

Trong hoạt động bình thường, kèo bóng đá hom nay lệnh SQL có thể được thực thi thông qua một trong hai giao thức phụ. TrongTruy vấn đơn giảnHồiGiao thức, Frontend chỉ cần gửi kèo bóng đá hom nay chuỗi truy vấn văn bản, được phân tích cú pháp và ngay lập tức được thực hiện bởi phụ trợ. TrongHồiTruy vấn mở rộngGiao thức, xử lý kèo bóng đá hom nay truy vấn được tách thành nhiều bước: phân tích cú pháp, liên kết kèo bóng đá hom nay giá trị tham số và thực thi. Điều này mang lại lợi ích linh hoạt và hiệu suất, với chi phí phức tạp hơn.

Hoạt động bình thường có kèo bóng đá hom nay giao thức phụ bổ sung cho kèo bóng đá hom nay hoạt động đặc biệt nhưCopy.

52.1.1. Tổng kèo bóng đá hom nay nhắn tin

Tất cả kèo bóng đá hom nay giao tiếp đều thông qua một luồng tin nhắn. Byte đầu tiên của một tin nhắn xác định loại tin nhắn và bốn byte tiếp theo chỉ định độ dài của phần còn lại của tin nhắn (số lượng độ dài này bao gồm chính nó, nhưng không phải là byte loại tin nhắn). kèo bóng đá hom nay nội dung còn lại của tin nhắn được xác định bởi loại tin nhắn. Vì lý do lịch sử, tin nhắn đầu tiên được gửi bởi máy khách (tin nhắn khởi động) không có byte loại tin nhắn ban đầu.

Để tránh mất đồng bộ hóa với luồng thông báo, cả máy chủ và máy khách thường đọc toàn bộ tin nhắn vào bộ đệm (sử dụng số byte) trước khi thử xử lý nội dung của nó. Điều này cho phép phục hồi dễ dàng nếu phát hiện lỗi trong khi xử lý nội dung. Trong kèo bóng đá hom nay tình huống cực đoan (chẳng hạn như không có đủ bộ nhớ để đệm thông báo), máy thu có thể sử dụng số byte để xác định số đầu vào để bỏ qua trước khi nó tiếp tục đọc tin nhắn.

Ngược lại, cả máy chủ và máy khách phải cẩn thận không bao giờ gửi tin nhắn không đầy đủ. Điều này thường được thực hiện bằng cách sắp xếp toàn bộ tin nhắn trong bộ đệm trước khi bắt đầu gửi nó. Nếu kèo bóng đá hom nay lỗi liên lạc xảy ra giữa việc gửi hoặc nhận tin nhắn, phản hồi hợp lý duy nhất là từ bỏ kết nối, vì có rất ít hy vọng phục hồi đồng bộ hóa giới hạn tin nhắn.

52.1.2. Tổng kèo bóng đá hom nay truy vấn mở rộng

Trong giao thức Trận đấu mở rộng, việc thực thi kèo bóng đá hom nay lệnh SQL được chia thành nhiều bước. Trạng thái được giữ lại giữa kèo bóng đá hom nay bước được biểu thị bằng hai loại đối tượng:Câu lệnh được chuẩn bịCổng thông tin. Một câu lệnh đã chuẩn bị đại diện cho kết quả phân tích phân tích và ngữ nghĩa của chuỗi truy vấn văn bản. Một câu lệnh đã chuẩn bị không sẵn sàng để thực thi, bởi vì nó có thể thiếu kèo bóng đá hom nay giá trị cụ thể chotham số. kèo bóng đá hom nay cổng thông tin đại diện cho kèo bóng đá hom nay câu lệnh sẵn sàng để thực hiện hoặc đã được thực hiện trong phần, với bất kỳ giá trị tham số bị thiếu nào được điền vào. (Đối vớiChọnCâu lệnh, kèo bóng đá hom nay cổng thông tin tương đương với con trỏ mở, nhưng chúng tôi chọn sử dụng kèo bóng đá hom nay thuật ngữ khác vì con trỏ không xử lý khôngChọncâu lệnh.)

Chu kỳ thực thi tổng thể bao gồm kèo bóng đá hom nayParseBước, tạo ra kèo bóng đá hom nay câu lệnh đã chuẩn bị từ chuỗi truy vấn văn bản; kèo bóng đá hom nayBINDBước, tạo ra kèo bóng đá hom nay cổng thông tin được đưa ra kèo bóng đá hom nay câu lệnh và giá trị đã chuẩn bị cho bất kỳ tham số cần thiết nào; và kèo bóng đá hom naythực thiBước chạy truy vấn cổng thông tin. Trong trường hợp truy vấn trả về hàng (Chọn, show, v.v.), bước thực thi có thể được yêu cầu tìm kiếm kèo bóng đá hom nay số lượng hạn chế, để có thể cần nhiều bước thực thi để hoàn thành thao tác.

Phần phụ trợ có thể theo dõi nhiều câu lệnh và cổng được chuẩn bị (nhưng lưu ý rằng chúng chỉ tồn tại trong một phiên và không bao giờ được chia sẻ trong kèo bóng đá hom nay phiên). kèo bóng đá hom nay câu lệnh và cổng thông tin được chuẩn bị hiện tại được tham chiếu bằng kèo bóng đá hom nay tên được gán khi chúng được tạo. Ngoài ra, mộtKhông tênTuyên bố và cổng thông tin đã được chuẩn bị tồn tại. Mặc dù chúng hoạt động phần lớn giống như kèo bóng đá hom nay đối tượng được đặt tên, kèo bóng đá hom nay hoạt động trên chúng được tối ưu hóa cho trường hợp thực hiện truy vấn chỉ một lần và sau đó loại bỏ nó, trong khi kèo bóng đá hom nay hoạt động trên kèo bóng đá hom nay đối tượng được đặt tên được tối ưu hóa dựa trên kỳ vọng của nhiều cách sử dụng.

52.1.3. Định dạng và mã định dạng

Dữ liệu của kèo bóng đá hom nay loại dữ liệu cụ thể có thể được truyền trong bất kỳ kèo bóng đá hom nay số khác nhauĐịnh dạng. Kể từPostgreSQL7.4 kèo bóng đá hom nay định dạng được hỗ trợ duy nhất làHồiTextHồinhị phân, nhưng giao thức cung cấp cho kèo bóng đá hom nay phần mở rộng trong tương lai. Định dạng mong muốn cho bất kỳ giá trị nào được chỉ định bởi AMã định dạng. Máy khách có thể chỉ định mã định dạng cho mỗi giá trị tham số được truyền và cho mỗi cột của kết quả truy vấn. Văn bản có mã định dạng Zero, nhị phân có mã định dạng một và tất cả kèo bóng đá hom nay mã định dạng khác được dành riêng cho định nghĩa trong tương lai.

Biểu diễn văn bản của kèo bóng đá hom nay giá trị là bất kỳ chuỗi nào được tạo và chấp nhận bởi kèo bóng đá hom nay hàm chuyển đổi đầu vào/đầu ra cho kiểu dữ liệu cụ thể. Trong biểu diễn truyền tải, không có nhân vật null nào theo dõi; Frontend phải thêm một vào kèo bóng đá hom nay giá trị nhận được nếu nó muốn xử lý chúng dưới dạng chuỗi C. (Nhân tiện, định dạng văn bản không cho phép nulls nhúng.)

Đại diện nhị phân cho số nguyên sử dụng đơn đặt hàng byte (byte kèo bóng đá hom nay trọng nhất). Đối với các loại dữ liệu khác, hãy tham khảo tài liệu hoặc mã nguồn để tìm hiểu về biểu diễn nhị phân. Hãy nhớ rằng các biểu diễn nhị phân cho các loại dữ liệu phức tạp có thể thay đổi trên các phiên bản máy chủ; Định dạng văn bản thường là lựa chọn di động hơn.