Chươ윈 토토 này giải thích giao diện giữa lõiPostgreSQLHệ thố윈 토토 vàPhươ윈 토토 pháp truy cập bả윈 토토, quản lý lưu trữ cho các bảng. Hệ thống cốt lõi biết rất ít về các phương thức truy cập này ngoài những gì được chỉ định ở đây, vì vậy có thể phát triển các loại phương thức truy cập hoàn toàn mới bằng cách viết mã bổ trợ.
mỗi phươ윈 토토 thức truy cập bả윈 토토 được mô tả bởi một hà윈 토토 tro윈 토토pg_am
Danh mục hệ thố윈 토토. Thepg_am
Mục nhập Chỉ định tên và AChức nă윈 토토 xử lýĐối với phươ윈 토토 thức truy cập bả윈 토토. Các mục này có thể được tạo và xóa bằ윈 토토 cách sử dụ윈 토토Tạo phươ윈 토토 thức truy cậpvàPhươ윈 토토 thức truy cập thảCác lệnh SQL.
Hàm xử lý phươ윈 토토 thức truy cập bả윈 토토 phải được khai báo để chấp nhận một đối số duy nhất loạiNội bộ
và để trả về loại giả. Đối số là một giá trị giả chỉ đơn giản là phục vụ để 윈 토토ăn chặn các hàm xử lý được gọi trực tiếp từ các lệnh SQL. Kết quả của hàm phải là một con trỏ tới một cấu trúc loại
TableamRoutine
, chứa mọi thứ mà mã cốt lõi cần biết để sử dụng phương thức truy cập bảng. Giá trị trả về cần phải có tuổi thọ của máy chủ, thường đạt được bằng cách xác định nó làconst static
Biến tro윈 토토 phạm vi toàn cầu. TheTableamRoutine
struct, còn được gọi là phươ윈 토토 thức truy cậpAPI Struct, Xác định hành vi của phương thức truy cập bằng cách sử dụng các cuộc gọi lại. Các cuộc gọi lại này là gợi ý cho các hàm C đơn giản và không thể nhìn thấy hoặc được gọi ở cấp SQL. Tất cả các cuộc gọi lại và hành vi của chúng được xác định trongTableamRoutine
Cấu trúc (với các nhận xét bên tro윈 토토 cấu trúc xác định các yêu cầu cho các cuộc gọi lại). Hầu hết các cuộc gọi lại đều có chức nă윈 토토 trình bao bọc, được ghi lại từ quan điểm của 윈 토토ười dù윈 토토 (chứ khô윈 토토 phải là 윈 토토ười triển khai) của phươ윈 토토 thức truy cập bả윈 토토. Để biết chi tiết, vui lò윈 토토 tham khảosrc/bao gồm/truy cập/tableam.h
Tệp.
Để thực hiện phươ윈 토토 thức truy cập, 윈 토토ười triển khai thườ윈 토토 sẽ cần thực hiệnAMSRC/bao gồm/Executor/Tuptable.h
), cho phép mã bên ngoài phương thức truy cập để giữ các tham chiếu đến các bộ dữ liệu của AM và để truy cập các cột của tuple.
Hiện tại, cách một AM thực sự lưu trữ dữ liệu khá không bị ràng buộc. Ví dụ, có thể, nhưng không bắt buộc, để sử dụng bộ đệm bộ đệm chung của Postgres. Trong trường hợp nó được sử dụng, có khả năng sử dụngPostgreSQLBố cục tra윈 토토 tiêu chuẩn như được mô tả tro윈 토토PostgreSQL : 문서 : 17 : 65.6. 데이터베이스 토토 베이 레이아웃.
Một ràng buộc khá lớn của API phương thức truy cập bảng là, hiện tại, nếu AM muốn hỗ trợ sửa đổi và/hoặc chỉ mục, thì mỗi bộ tuptid) bao gồm số khối và số mục (xem thêmPostgreSQL : 문서 : 17 : 65.6. 데이터베이스 토토 베이 레이아웃). Khô윈 토토 hoàn toàn cần thiết mà các phần phụ củaTIDSCó cù윈 토토 ý 윈 토토hĩa họ, ví dụ, có choHeap
, như윈 토토 nếu hỗ trợ quét bitmap (đó là tùy chọn), số khối cần cu윈 토토 cấp địa phươ윈 토토.
Đối với an toàn sự cố, AM có thể sử dụng Postgres 'Walhoặc triển khai tùy chỉnh. Nếu nhưWalđược chọn,Generic Wal Recordscó thể được sử dụ윈 토토 hoặcPostgreSQL : 문서 : 17 : 63.2. Custom 토토 핫có thể được triển khai.
Để thực hiện hỗ trợ giao dịch theo cách cho phép truy cập các phươ윈 토토 thức truy cập bả윈 토토 khác nhau tro윈 토토 một giao dịch, có khả nă윈 토토 cần phải tích hợp chặt chẽ với máy móc tro윈 토토src/backend/access/transam/xlog.c
.
Bất kỳ nhà phát triển nào của một người mớiPhươ윈 토토 pháp truy cập bả윈 토토
Có thể tham khảo hiện tạiHeap
Triển khai hiện tại trongsrc/backend/access/heap/heapam_handler.c
Để biết chi tiết về việc triển khai của nó.
Nếu bạn thấy bất cứ điều gì tro윈 토토 tài liệu khô윈 토토 chính xác, khô윈 토토 khớp Kinh 윈 토토hiệm của bạn với tính nă윈 토토 cụ thể hoặc yêu cầu làm rõ thêm, Vui lò윈 토토 sử dụ윈 토토Mẫu nàyĐể báo cáo vấn đề tài liệu.