Nếu bạn đang nghĩ về việc phân phốiPostgreSQLMô -đun mở tỷ lệ kèo bóng đá 88, thiết lập một hệ thống xây dựng di động cho chúng có thể khá khó khăn. Do đóPostgreSQLCài đặt cung cấp cơ sở hạ tầng xây dựng cho các tiện ích mở tỷ lệ kèo bóng đá 88, được gọi làPGXS, do đó có thể xây dựng các mô -đun mở tỷ lệ kèo bóng đá 88 đơn giản đơn giản đối với máy chủ đã được cài đặt.PGXSchủ yếu dành cho các tiện ích mở tỷ lệ kèo bóng đá 88 bao gồm mã C, mặc dù nó cũng có thể được sử dụng cho các tiện ích mở tỷ lệ kèo bóng đá 88 Pure-SQL. Lưu ý rằngPGXSkhông nhằm mục đích là một khung hệ thống xây dựng phổ quát có thể được sử dụng để xây dựng bất kỳ phần mềm nào giao thoa vớiPostgreSQL; Nó chỉ đơn giản là tự động hóa các quy tắc xây dựng phổ biến cho các mô -đun mở tỷ lệ kèo bóng đá 88 máy chủ đơn giản.
Để sử dụngPGXSCơ sở hạ tầng cho phần mở tỷ lệ kèo bóng đá 88 của bạn, bạn phải viết một makefile đơn giản. Trong Makefile, bạn cần đặt một số biến và bao gồm toàn cầuPGXSMakefile. Dưới đây là một ví dụ xây dựng một mô -đun mở tỷ lệ kèo bóng đá 88 có tênisbn_issn
, bao gồm một thư viện được chia sẻ chứa một số mã C, tệp điều khiển mở tỷ lệ kèo bóng đá 88, tập lệnh SQL, một tệp bao gồm (chỉ cần nếu các mô -đun khác có thể cần truy cập các chức năng mở tỷ lệ kèo bóng đá 88 mà không cần đi qua SQL) và tệp văn bản tài liệu:
Mô -đun = isbn_issn
Ba dòng cuối cùng phải luôn giống nhau. Trước đó trong tệp, bạn gán các biến hoặc thêm tùy chỉnhlàmQuy tắc.
Đặt một trong ba biến này để chỉ định những gì được xây dựng:
Mô -đun
Danh sách các đối tượng Library được chia sẻ sẽ được xây dựng từ các tệp nguồn có cùng một gốc
module_big
Một thư viện được chia sẻ để xây dựng từ nhiều tệp nguồn (liệt kê các tệp đối tượng trongobjs
)
Chương trình
Một chương trình thực thi để xây dựng (liệt kê các tệp đối tượng trongobjs
)
Các biến sau đây cũng có thể được đặt:
Mở tỷ lệ kèo bóng đá 88
Tên mở tỷ lệ kèo bóng đá 88 (S); Đối với mỗi tên, bạn phải cung cấp một
Tệp, sẽ được cài đặt vàoMở tỷ lệ kèo bóng đá 88
.controltiền tố
/chia sẻ/mở tỷ lệ kèo bóng đá 88
Moduledir
thư mục con của
trong đó các tệp dữ liệu và tài liệu nào nên được cài đặt (nếu không được đặt, mặc định làtiền tố
/chia sẻMở tỷ lệ kèo bóng đá 88
nếuMở tỷ lệ kèo bóng đá 88
được đặt hoặcđóng góp
nếu không)
Data
Tệp ngẫu nhiên để cài đặt vàotiền tố
/chia sẻ/$ moduledir
data_built
Tệp ngẫu nhiên để cài đặt vào
, cần được xây dựng đầu tiêntiền tố
/chia sẻ/$ moduledir
data_tesearch
Tệp ngẫu nhiên để cài đặt dướitiền tố
/chia sẻ/tsearch_data
Docs
Tệp ngẫu nhiên để cài đặt dướitiền tố
/doc/$ moduledir
tiêu đề
Headers_built
Tệp để (Tùy chọn xây dựng và) Cài đặt theo
.tiền tố
/bao gồm/máy chủ/$ moduledir/$ module_big
Không giống nhưdata_built
, Tệp trongheaders_built
không bị xóa bởiClean
mục tiêu; Nếu bạn muốn chúng bị xóa, cũng thêm chúng vàoExtra_clean
hoặc thêm các quy tắc của riêng bạn để làm điều đó.
Headers_ $ Module
headers_built_ $ mô -đun
Tệp để cài đặt (sau khi xây dựng nếu được chỉ định) theo
, trong đótiền tố
/bao gồm/server/$ moduledir/$ module$ mô -đun
phải là tên mô -đun được sử dụng trongmô -đun
hoặcmodule_big
.
Không giống nhưdata_built
, Tệp trongheaders_built_ $ mô -đun
không bị xóa bởiClean
mục tiêu; Nếu bạn muốn chúng bị xóa, cũng thêm chúng vàoExtra_Clean
hoặc thêm các quy tắc của riêng bạn để làm điều đó.
Việc sử dụng cả hai biến cho cùng một mô -đun là hợp pháp, trừ khi bạn có hai tên mô -đun trongmô -đun
Danh sách chỉ khác nhau bởi sự hiện diện của tiền tốbuild_
, sẽ gây ra sự mơ hồ. Trong trường hợp đó (hy vọng không thể), bạn chỉ nên sử dụngheaders_built_ $ mô -đun
biến.
Script
Tập tin tập lệnh (không phải nhị phân) để cài đặt vàotiền tố
/bin
scripts_built
Tập tin tập lệnh (không phải nhị phân) để cài đặt vào
, cần được xây dựng đầu tiêntiền tố
/bin
Thủy loạn
Danh sách các trường hợp kiểm tra hồi quy (không có hậu tố), xem bên dưới
Regress_opts
Chuyển đổi bổ sung để chuyển sangPG_ERESS
cô lập
Danh sách các trường hợp kiểm tra cách ly, xem bên dưới để biết thêm chi tiết
secholation_opts
Chuyển đổi bổ sung để chuyển sang
tap_tests
Chuyển đổi xác định Nếu cần chạy thử nghiệm, xem bên dưới
NO_INSTALL
không xác địnhCài đặt
mục tiêu, hữu ích cho các mô -đun thử nghiệm không cần cài đặt sản phẩm xây dựng của họ
NO_INSTALLCHECK
không xác địnhInstallcheck
Target, hữu ích, ví dụ, nếu các bài kiểm tra yêu cầu cấu hình đặc biệt hoặc không sử dụng
Extra_Clean
Các tệp bổ sung để xóa tronglàm sạch
PG_CPPFLAGS
sẽ được chuẩn bị chocppflags
PG_CFLAGS
sẽ được thêm vàoCFLAGS
pg_cxxflags
sẽ được thêm vàocxxflags
PG_LDFLAGS
sẽ được chuẩn bị choldflags
PG_LIBS
sẽ được thêm vàoChương trình
Link Line
shlib_link
sẽ được thêm vàomodule_big
Link Line
pg_config
đường dẫn đếnpg_configChương trình choPostgreSQLCài đặt để xây dựng (thường chỉ làpg_config
Để sử dụng cái đầu tiên trong của bạnđường dẫn
)
Đặt makefile này làMakefile
Trong thư mục giữ phần mở tỷ lệ kèo bóng đá 88 của bạn. Sau đó, bạn có thể làmlàm
để biên dịch, và sau đóTạo cài đặt
Để cài đặt mô -đun của bạn. Theo mặc định, phần mở tỷ lệ kèo bóng đá 88 được biên dịch và cài đặt choPostgreSQLCài đặt tương ứng với lần đầu tiênpg_config
Chương trình được tìm thấy trong bạnđường dẫn
. Bạn có thể sử dụng cài đặt khác bằng cách cài đặtpg_config
Để trỏ đến nópg_config
Chương trình, trong Makefile hoặc trênlàm
dòng lệnh.
Bạn cũng có thể chạylàm
Trong một thư mục bên ngoài cây nguồn của phần mở tỷ lệ kèo bóng đá 88 của bạn, nếu bạn muốn giữ thư mục xây dựng riêng biệt. Quy trình này còn được gọi làVpathXây dựng. Đây là cách:
mkdir build_dir
Ngoài ra, bạn có thể thiết lập một thư mục cho bản dựng VPAR theo cách tương tự như cách thực hiện cho mã lõi. Một cách để làm điều này là sử dụng tập lệnh lõiconfig/prep_buildtree
. Khi điều này đã được thực hiện, bạn có thể xây dựng bằng cách đặtlàm
BiếnVpath
như thế này:
Tạo vpath =/path/to/extension/nguồn/cây
Quy trình này có thể hoạt động với nhiều cách bố trí thư mục.
Các tập lệnh được liệt kê trongThủy loạn
Biến được sử dụng để kiểm tra hồi quy mô -đun của bạn, có thể được gọi bởiTạo Installcheck
sau khi làmTạo cài đặt
. Để làm việc này, bạn phải có một hoạt độngPostgreSQLMáy chủ. Các tệp tập lệnh được liệt kê trongThủy loạn
phải xuất hiện trong một thư mục con tênSQL/
Trong thư mục tiện ích mở tỷ lệ kèo bóng đá 88 của bạn. Những tệp này phải có phần mở tỷ lệ kèo bóng đá 88.sql
, không được bao gồm trongThủy loạn
Danh sách trong Makefile. Đối với mỗi bài kiểm tra cũng nên có một tệp chứa đầu ra dự kiến trong một thư mục con có tênmong đợi/
, với cùng một gốc và phần mở tỷ lệ kèo bóng đá 88.out
.Tạo Installcheck
Thực thi mỗi tập lệnh kiểm tra vớiPSQLvà so sánh đầu ra kết quả với tệp dự kiến phù hợp. Bất kỳ sự khác biệt nào sẽ được ghi vào tệpRepression.diffs
indiff -c
Định dạng. Lưu ý rằng việc cố gắng chạy một bài kiểm tra thiếu tệp dự kiến của nó sẽ được báo cáo làVangsự cố, vì vậy hãy chắc chắn rằng bạn có tất cả các tệp dự kiến.
Các tập lệnh được liệt kê trongcô lập
Biến được sử dụng để kiểm tra hành vi căng thẳng của phiên đồng thời với mô -đun của bạn, có thể được gọi bởiTạo Installcheck
sau khi làmTạo cài đặt
. Để làm việc này, bạn phải có một hoạt độngPostgreSQLMáy chủ. Các tệp tập lệnh được liệt kê trongcô lập
phải xuất hiện trong một thư mục con có tênspecs/
Trong thư mục tiện ích mở tỷ lệ kèo bóng đá 88 của bạn. Những tệp này phải có phần mở tỷ lệ kèo bóng đá 88.spec
, không được bao gồm trongcô lập
Danh sách trong Makefile. Đối với mỗi bài kiểm tra cũng nên có một tệp chứa đầu ra dự kiến trong một thư mục con có tênmong đợi/
, với cùng một gốc và phần mở tỷ lệ kèo bóng đá 88.out
.Tạo cài đặt
Thực thi mỗi tập lệnh kiểm tra và so sánh đầu ra kết quả với tệp dự kiến phù hợp. Bất kỳ sự khác biệt nào sẽ được ghi vào tệpoutput_iso/regression.diffs
indiff -c
Định dạng. Lưu ý rằng việc cố gắng chạy một bài kiểm tra thiếu tệp dự kiến của nó sẽ được báo cáo làHồisự cố, vì vậy hãy chắc chắn rằng bạn có tất cả các tệp dự kiến.
tap_tests
Cho phép sử dụng các bài kiểm tra vòi. Dữ liệu từ mỗi lần chạy có mặt trong một thư mục con có tênTMP_CHECK/
. Xem thêmPhần 33.4Để biết thêm chi tiết.
Cách dễ nhất để tạo các tệp dự kiến là tạo các tệp trống, sau đó chạy thử (tất nhiên sẽ báo cáo sự khác biệt). Kiểm tra các tệp kết quả thực tế được tìm thấy trongKết quả/
thư mục (cho các bài kiểm tra trongThủy loạn
) hoặcoutput_iso/kết quả/
thư mục (cho các bài kiểm tra trongcô lập
), sau đó sao chép chúng vàomong đợi/
Nếu chúng phù hợp với những gì bạn mong đợi từ bài kiểm tra.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớpMẫu nàyĐể báo cáo vấn đề tài liệu.