Postgresql 8.1.23 Tài tỷ lệ kèo bóng đá 88 | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 50. Cơ sở dữ tỷ lệ kèo bóng đá 88 lưu trữ vật lý | Chuyển tiếp nhanh | NEXT |
Phần này cung cấp tổng quan về định dạng tỷ lệ kèo bóng đá 88 đượ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 đá 88. 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ảng10986_1099310995_11271Metapagegiữ thông tin kiểm soát và ở đó có thể là các loại tỷ lệ kèo bóng đá 88 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 50-2Hiển thị bố cục tổng thể của một tỷ lệ kèo bóng đá 88. Có năm phần cho mỗi phần tỷ lệ kèo bóng đá 88.
Bảng 50-2. Bố cục tỷ lệ kèo bóng đá 88 tổng thể
Mục | Mô tả |
---|---|
PageHeaderData | 20 byte dài. Chứa thông tin chung về tỷ lệ kèo bóng đá 88, bao gồm cả con trỏ không gian trống. |
itemiddata | 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 đá 88 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 đá 88 khác nhau. Trống trong các bảng thông thường. |
20 byte đầu tiên của mỗi tỷ lệ kèo bóng đá 88 bao gồm một tiêu đề tỷ lệ kèo bóng đá 88 (PageHeaderData). Định dạng của nó được chi tiết trongBảng 50-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 đá 88 này. Chúng được theo sau bởi ba trường số nguyên 2 byte (PD_LOWER, PD_UPPERvàpd_special). Những điều này chứa các chênh lệch byte từ tỷ lệ kèo bóng đá 88 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 cuối cùng của tiêu đề tỷ lệ kèo bóng đá 88,pd_pagesize_version, Lưu trữ cả kích thước tỷ lệ kèo bóng đá 88 và một chỉ báo phiên bản. Bắt đầu vớiPostgreSQL8.1 Số phiên bản là 3;PostgreSQL8.0 Phiên bản đã sử dụng Số 2;PostgreSQL7.3 và 7.4 Phiên bản đã sử dụng số 1; phát hành trước đã sử dụng phiên bản số 0. ( Bố cục tỷ lệ kèo bóng đá 88 cơ bản và định dạng tiêu đề đã không thay đổi trong những điều này Phiên bản, nhưng bố cục của các tiêu đề hàng Heap có.) Kích thước tỷ lệ kèo bóng đá 88 về cơ bản chỉ có mặt như một kiểm tra chéo; Không có hỗ trợ để có nhiều hơn một kích thước tỷ lệ kèo bóng đá 88 trong cài đặt.
Bảng 50-3. PageHeaderData Layout
trường | loại | LEGN | 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 đá 88 này |
pd_tli | TimelineId | 14818_14827 | TLI thay đổi cuối cùng |
PD_LOWER | vị trí Index | 2 byte | Offset để bắt đầu không gian trống |
PD_UPPER | Vị trí Index | 2 byte | bù vào cuối không gian trống |
pd_special | Vị trí Index | 2 byte | 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 đá 88 và thông tin số phiên bản bố cục |
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 đá 88 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ó được giải phóng, 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 đá 88 để 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 một số tỷ lệ kèo bóng đá 88 và chỉ mục của một định danh mục.
Bản thân các mặt hàng được lưu trữ trong không gian được phân bổ ngược Từ cuối không gian không phân bổ. Cấu trúc chính xác khác nhau Tùy thuộc vào những gì bảng chứa. Bảng và trình tự Cả hai đều sử dụng một cấu trúc có tênHeaptupleHeaderData, được mô tả bên dưới.
Phần cuối cùng là"Đặc biệt phần"17073_17359pd_specialbằng kích thước tỷ lệ kèo bóng đá 88).
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 27 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 đá 88 người dùng. Tiêu đề được chi tiết trongBảng 50-4. Dữ tỷ lệ kèo bóng đá 88 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 đá 88 (nghĩa làt_natts18244_18445HEAP_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_HOFFMaxalign Nhiều sẽ xuất hiện giữa bitmap null và ID đối tượng. (Điều này đến lượt đảm bảo rằng ID đối tượng phù hợp căn chỉnh.)
Bảng 50-4. Bố tỷ lệ kèo bóng đá 88 HeaptupleHeaderData
trường | loại | LEGN | Mô tả |
---|---|---|---|
t_xmin | TranstercentID | 4 byte | Chèn tem XID |
t_cmin | CommandID | 4 byte | Chèn tem CID |
T_XMAX | TranstercentID | 4 byte | Xóa tem XID |
T_CMAX | CommandID | 4 byte | Xóa tem CID (lớp phủ với T_XVAC) |
T_XVAC | TranstercentId | 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_natts | INT16 | 2 byte | Số lượng thuộc tính |
t_infomask | UINT16 | 2 byte | BIT cờ khác nhau |
T_HOFF | UINT8 | 1 byte | Offset cho dữ tỷ lệ kèo bóng đá 88 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 đá 88 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_ATTRIBUTE. Các giá trị chính cần thiết để xác định Vị trí trường làAttlenvàAttalign. 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, FastGetAttrvàheap_getSysAttr.
21459_21894VARATTRIB, bao gồm tổng 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ác lá cờ, dữ tỷ lệ kèo bóng đá 88 có thể là nội tuyến hoặc trongkèo bóng đá homBảng; Nó cũng có thể được nén (xemPhần 50.2).
[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 đá 88 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. |
Prev | tỷ lệ kèo bóng đá 88 chủ | Tiếp theo |
bánh mì nướng | UP | BKIGiao diện phụ trợ |