Bảng nội dung
PostgreSQLSử dụng nhiều danh cách đọc kèo bóng đá khác nhau để theo dõi sự tồn tại và thuộc tính của các đối tượng cơ sở dữ liệu, chẳng hạn như bảng và chức năng. Về mặt vật lý, không có sự khác biệt giữa một danh cách đọc kèo bóng đá và bảng người dùng đơn giản, nhưng mã phụ trách C biết cấu trúc và thuộc tính của mỗi danh mục và có thể điều khiển nó trực tiếp ở mức thấp.
Cấu trúc của các danh cách đọc kèo bóng đá được khai báo trong các tệp tiêu đề C được định dạng đặc biệt trongsrc/bao gồm/catalog/
Thư cách đọc kèo bóng đá của cây nguồn. Đối với mỗi danh cách đọc kèo bóng đá, có một tệp tiêu đề được đặt tên theo danh cách đọc kèo bóng đá (ví dụ:pg_class.h
chopg_ class
), trong đó xác định tập hợp các cột mà danh cách đọc kèo bóng đá có, cũng như một số thuộc tính cơ bản khác như OID của nó.
Nhiều danh cách đọc kèo bóng đá có dữ liệu ban đầu phải được tải vào chúng trong thời gianBootstrapPha củainitDB, để đưa hệ cách đọc kèo bóng đá lên đến một điểm mà nó có khả năng thực thi các lệnh SQL. (Ví dụ,pg_class.h
phải chứa một mục cho chính nó, cũng như một mục cho danh mục và chỉ cách đọc kèo bóng đá khác.) Dữ liệu ban đầu này được giữ ở dạng có thể chỉnh sửa trong các tệp dữ liệu cũng được lưu trữ trongsrc/bao gồm/catalog/
Thư cách đọc kèo bóng đá. Ví dụ,pg_proc.dat
Mô tả tất cả các hàng cách đọc kèo bóng đá phải được chèn vàoPG_PROC
Danh cách đọc kèo bóng đá.
Để tạo các tệp danh cách đọc kèo bóng đá và tải dữ liệu ban đầu này vào chúng, một phụ trợ chạy trong chế độ Bootstrap đọc ABKI(Giao diện phụ trợ) Tệp chứa các lệnh và dữ liệu cách đọc kèo bóng đá. ThePostgres.bki
Tệp được sử dụng trong chế độ này được chuẩn bị từ các tệp dữ liệu và tiêu đề đã nói ở trên, trong khi xây dựng APostgreSQLPhân phối, theo tập lệnh Perl có tênGenbki.pl
. Mặc dù nó cụ thể cho một cụ thểPostgreSQLPhát hành,Postgres.bki
là độc lập với nền tảng và được cài đặt trongchia sẻ
Subdirectory của cây cài đặt.
Genbki.pl
cũng tạo ra một tệp tiêu đề dẫn xuất cho mỗi danh cách đọc kèo bóng đá, ví dụPG_CLASS_D.H
chopg_ class
Danh cách đọc kèo bóng đá. Tệp này chứa các định nghĩa macro được tạo tự động và có thể chứa các macro khác, khai báo enum, v.v.
Hầu hết các nhà phát triển PostgreSQL không cần phải quan tâm trực tiếp đếnBKITệp, nhưng hầu như mọi tính năng không cần thiết trong phần phụ trợ sẽ yêu cầu sửa đổi các tệp tiêu đề danh cách đọc kèo bóng đá và/hoặc tệp dữ liệu ban đầu. Phần còn lại của chương này cung cấp một số thông tin về điều đó và để hoàn thiện mô tảBKIĐịnh dạng tệp.