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 / 8.1 / 8.0
Tài tỷ lệ kèo bóng đá trực tuyến hôm nay 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 một tỷ lệ kèo bóng đá trực tuyến hôm nay chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

54,5. Bố cục tỷ lệ kèo bóng đá trực tuyến hôm nay

Phần này cung cấp tổng quan về định dạng tỷ lệ kèo bóng đá trực tuyến hôm nay được sử dụng ở trongPostgreSQLBảng và chỉ mục.[1]Chuỗi vàbánh mì nướngBảng được định dạng giống như một bảng thông thường.

Trong phần giải thích sau, Abyteđược giả sử chứa 8 bit. Ngoài ra, thuật ngữMụcđề cập đến một giá trị dữ liệu riêng lẻ đó là Được lưu trữ trên một tỷ lệ kèo bóng đá trực tuyến hôm nay. Trong một bảng, một mục là một hàng; trong một chỉ mục, một Mục là một mục nhập chỉ mục.

Mỗi bảng và chỉ mục được lưu trữ dưới dạng một mảngtỷ lệ kèo bóng đá trực tuyến hôm naycó kích thước cố định (thường là 8 kb, mặc dù Kích thước tỷ lệ kèo bóng đá trực tuyến hôm nay khác nhau có thể được chọn khi biên dịch máy chủ). Trong một bảng, tất cả các tỷ lệ kèo bóng đá trực tuyến hôm nay đều tương đương về mặt logic, vì vậy một Mục cụ thể (hàng) có thể được lưu trữ trong bất kỳ tỷ lệ kèo bóng đá trực tuyến hôm nay nào. Trong các chỉ mục, tỷ lệ kèo bóng đá trực tuyến hôm nay đầu tiên thường được bảo lưu dưới dạngMetapagegiữ thông tin điều khiển và ở đó có thể là các loại tỷ lệ kèo bóng đá trực tuyến hôm nay khác nhau trong chỉ mục, tùy thuộc vào Phương thức truy cập chỉ mục.

Bảng 54-2Hiển thị bố cục tổng thể của một tỷ lệ kèo bóng đá trực tuyến hôm nay. Có năm phần cho mỗi phần tỷ lệ kèo bóng đá trực tuyến hôm nay.

Bảng 54-2. Bố cục tỷ lệ kèo bóng đá trực tuyến hôm nay tổng thể

Mục Mô tả
PageHeaderData 24 byte dài. Chứa thông tin chung về tỷ lệ kèo bóng đá trực tuyến hôm nay, bao gồm cả con trỏ không gian trống.
12112_12124 Mảng (bù, chiều dài) Các cặp chỉ vào thực tế mặt hàng. 4 byte cho mỗi mục.
không gian trống Không gian không phân bổ. Con trỏ mục mới là được phân bổ từ đầu khu vực này, các mặt hàng mới từ kết thúc.
Mục Bản thân các mục thực tế.
không gian đặc biệt Dữ tỷ lệ kèo bóng đá trực tuyến hôm nay cụ thể của phương thức truy cập chỉ mục. Các phương pháp khác nhau Lưu trữ dữ tỷ lệ kèo bóng đá trực tuyến hôm nay khác nhau. Trống trong các bảng thông thường.

24 byte đầu tiên của mỗi tỷ lệ kèo bóng đá trực tuyến hôm nay bao gồm một tiêu đề tỷ lệ kèo bóng đá trực tuyến hôm nay (PageHeaderData). Định dạng của nó được chi tiết trongBảng 54-3. Hai lĩnh vực đầu tiên theo dõi mục WAL gần đây nhất liên quan đến tỷ lệ kèo bóng đá trực tuyến hôm nay này. Tiếp theo là trường 2 byte chứa bit cờ. Đây là theo sau là ba trường số nguyên 2 byte (PD_LOWER, PD_UPPERpd_special). Những điều này chứa các chênh lệch byte từ tỷ lệ kèo bóng đá trực tuyến hôm nay bắt đầu không gian không phân bổ, đến cuối Không gian không được phân bổ, và đến khi bắt đầu không gian đặc biệt. Các 2 byte tiếp theo của tiêu đề tỷ lệ kèo bóng đá trực tuyến hôm nay,pd_pagesize_version, Lưu trữ cả kích thước tỷ lệ kèo bóng đá trực tuyến hôm nay và một chỉ báo phiên bản. Bắt đầu với13627_136398.3 Số phiên bản là 4;PostgreSQL8.1 và 8.2 đã sử dụng Phiên bản số 3;POSTGRESQL8.0 Phiên bản đã sử dụng số 2;PostgreSQL7.3 và 7.4 Số phiên bản đã sử dụng 1; Các bản phát hành trước đã sử dụng phiên bản số 0. (Bố cục tỷ lệ kèo bóng đá trực tuyến hôm nay cơ bản và định dạng tiêu đề không thay đổi trong hầu hết các phiên bản này, nhưng Bố cục của các tiêu đề hàng đống có.) Kích thước tỷ lệ kèo bóng đá trực tuyến hôm nay về cơ bản là Chỉ có mặt như một kiểm tra chéo; Không có hỗ trợ cho việc có nhiều hơn một kích thước tỷ lệ kèo bóng đá trực tuyến hôm nay trong một cài đặt. Trường cuối cùng là một Gợi ý rằng cho thấy việc cắt tỉa tỷ lệ kèo bóng đá trực tuyến hôm nay có thể là Có lợi nhuận: Nó theo dõi Xmax không được cắt tiền lâu đời nhất trên tỷ lệ kèo bóng đá trực tuyến hôm nay.

Bảng 54-3. PageHeaderData Layout

trường loại length Mô tả
PD_LSN XLOGRECPTR 8 byte LSN: Byte tiếp theo sau byte cuối cùng của bản ghi XLOG cho Thay đổi cuối cùng cho tỷ lệ kèo bóng đá trực tuyến hôm nay này
pd_tli UINT16 2 byte Dòng thời gian thay đổi cuối cùng (chỉ có 16 thấp nhất 16 bit)
PD_FLAGS UINT16 2 byte BIT cờ
PD_LOWER Vị trí Index 2 byte Offset để bắt đầu không gian trống
PD_UPPER Vị trí Index 2 byte Offset để kết thúc không gian trống
pd_special Vị trí Index 15765_15774 Offset để bắt đầu không gian đặc biệt
pd_pagesize_version UINT16 2 byte Kích thước tỷ lệ kèo bóng đá trực tuyến hôm nay và thông tin số phiên bản bố cục
pd_prune_xid TranstercentID 4 byte Xmax không hợp nhất lâu đời nhất trên tỷ lệ kèo bóng đá trực tuyến hôm nay hoặc không nếu không

Tất cả các chi tiết có thể được tìm thấy trongsrc/bao gồm/lưu trữ/bufpage.h.

Theo tiêu đề tỷ lệ kèo bóng đá trực tuyến hôm nay là các định danh mục (itemiddata), mỗi người yêu cầu bốn byte. Một mặt hàng Định danh chứa một byte offset để bắt đầu một mục, nó độ dài tính bằng byte và một vài bit thuộc tính ảnh hưởng đến Giải thích. Mã định danh mục mới được phân bổ khi cần thiết từ Sự khởi đầu của không gian không được phân bổ. Số lượng mặt hàng số nhận dạng có mặt có thể được xác định bằng cách xemPD_LOWER, được tăng lên để phân bổ một cái mới định danh. Bởi vì một định danh mục không bao giờ được di chuyển cho đến khi nó Freed, chỉ số của nó có thể được sử dụng trên cơ sở dài hạn để tham khảo mục, ngay cả khi bản thân mặt hàng được di chuyển trên tỷ lệ kèo bóng đá trực tuyến hôm nay để không gian trống nhỏ gọn. Trên thực tế, mọi con trỏ đến một mục (itemPulum, còn được gọi làCTID) Được tạo bởiPostgreSQLbao gồm số tỷ lệ kèo bóng đá trực tuyến hôm nay và chỉ mục của một định danh mục.

17351_17573HeaptupleHeaderData, được mô tả bên dưới.

Phần cuối cùng là"Đặc biệt phần"có thể chứa bất cứ thứ gì phương thức truy cập Mong muốn lưu trữ. Ví dụ: các chỉ mục B-Tree có liên kết đến anh chị em trái và phải của tỷ lệ kèo bóng đá trực tuyến hôm nay, cũng như một số dữ liệu khác liên quan đến cấu trúc chỉ số. Bảng thông thường không sử dụng Phần đặc biệt (được chỉ định bởi cài đặtpd_specialbằng kích thước tỷ lệ kèo bóng đá trực tuyến hôm nay).

Tất cả các hàng bảng được cấu trúc theo cùng một cách. Có a Tiêu đề kích thước cố định (chiếm 23 byte trên hầu hết các máy), theo sau bởi một bitmap null tùy chọn, trường ID đối tượng tùy chọn và dữ tỷ lệ kèo bóng đá trực tuyến hôm nay người dùng. Tiêu đề được chi tiết trongBảng 54-4. Dữ tỷ lệ kèo bóng đá trực tuyến hôm nay người dùng thực tế (các cột của hàng) bắt đầu Offset được chỉ định bởiT_HOFF, mà phải luôn là bội số của khoảng cách tối đa cho nền tảng. Bitmap null chỉ có mặt nếuHEAP_HASNULLbit được đặt trongT_INFOMASK. Nếu nó có mặt, nó chỉ bắt đầu sau khi tiêu đề cố định và chiếm đủ byte để có một bit mỗi cột dữ tỷ lệ kèo bóng đá trực tuyến hôm nay (nghĩa làt_nattsBITS hoàn toàn). Trong danh sách các bit này, 1 bit cho biết Not-null, 0 bit là một null. Khi bitmap không có mặt, tất cả Các cột được giả định không null. ID đối tượng chỉ có mặt nếu TheHEAP_HASOIDbit được đặt trongT_INFOMASK. Nếu có mặt, nó xuất hiện ngay trước TheT_HOFFranh giới. Bất kỳ đệm cần thiết để làmT_HOFF19331_19477

Bảng 54-4. Bố tỷ lệ kèo bóng đá trực tuyến hôm nay HeaptupleHeaderData

19786_19793 loại length Mô tả
t_xmin TranstercentId 4 byte Chèn tem XID
t_xmax TranstercentID 4 byte Xóa tem XID
T_CID CommandID 4 byte Chèn và/hoặc xóa tem CID (lớp phủ với T_XVAC)
T_XVAC Giao dịchID 4 byte XID cho hoạt động chân không di chuyển phiên bản hàng
T_CTID itempulinterdata 6 byte hiện tại của phiên bản hàng này hoặc mới hơn
T_INFOMASK2 INT16 2 byte Số lượng thuộc tính, cộng với các bit cờ khác nhau
t_infomask UINT16 2 byte BIT cờ khác nhau
T_HOFF UINT8 1 byte Offset to Data người dùng

Tất cả các chi tiết có thể được tìm thấy trongsrc/bao gồm/truy cập/htup.h.

Giải thích dữ tỷ lệ kèo bóng đá trực tuyến hôm nay thực tế chỉ có thể được thực hiện với thông tin thu được từ các bảng khác, chủ yếu làPG_Attribution. Các giá trị chính cần thiết để xác định Vị trí trường làAttlenAttalign. Không có cách nào để trực tiếp nhận một thuộc tính cụ thể, ngoại trừ khi chỉ có Đã sửa lỗi các trường chiều rộng và không có giá trị null. Tất cả mánh khóe này là được bao bọc trong các chức năngHEAP_GETATTR, FastGetAttrheap_getSysAttr.

Để đọc dữ tỷ lệ kèo bóng đá trực tuyến hôm nay bạn cần kiểm tra từng thuộc tính lần lượt. Trước tiên, hãy kiểm tra xem trường có phải là null theo null Bitmap. Nếu là, đi đến tiếp theo. Sau đó, hãy chắc chắn rằng bạn có liên kết đúng. Nếu trường là trường chiều rộng cố định, thì tất cả Các byte được đặt đơn giản. Nếu đó là trường chiều dài thay đổi (Attlen = -1) Sau đó, nó phức tạp hơn một chút. Tất cả Các loại dữ tỷ lệ kèo bóng đá trực tuyến hôm nay có độ dài thay đổi chia sẻ cấu trúc tiêu đề chungstruct varlena, bao gồm tổng số Chiều dài của giá trị được lưu trữ và một số bit cờ. Tùy thuộc vào cờ, dữ tỷ lệ kèo bóng đá trực tuyến hôm nay có thể là nội tuyến hoặc trongtỷ lệ kèo bóngBảng; Nó cũng có thể được nén (xemPhần 54.2).

Ghi chú

[1]

Trên thực tế, các phương thức truy cập chỉ mục không cần sử dụng tỷ lệ kèo bóng đá trực tuyến hôm nay này định dạng. Tất cả các phương thức chỉ mục hiện có đều sử dụng cơ bản này định dạng, nhưng dữ liệu được giữ trên các mục tiêu chỉ mục thường không Thực hiện theo các quy tắc bố cục mục.