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
Tài liệu 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 trang 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ế.

36,18. Cơ sở hạ tầng tòa nhà mở soi kèo bóng đá truoctran#

Nếu bạn đang nghĩ về việc phân phốiPostgreSQLMô -đun mở soi kèo bóng đá truoctran, 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ở soi kèo bóng đá truoctran, được gọi làPGXS, do đó có thể xây dựng các mô -đun mở soi kèo bóng đá truoctran đơ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ở soi kèo bóng đá truoctran bao gồm mã C, mặc dù nó cũng có thể được sử dụng cho các tiện ích mở soi kèo bóng đá truoctran 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ở soi kèo bóng đá truoctran máy chủ đơn giản.

Để sử dụngPGXSCơ sở hạ tầng cho phần mở soi kèo bóng đá truoctran 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ở soi kèo bóng đá truoctran có tênisbn_issn10920_11166

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ở soi kèo bóng đá truoctran #

Tên mở soi kèo bóng đá truoctran (s); Đối với mỗi tên, bạn phải cung cấp mộtMở soi kèo bóng đá truoctran.controlTệp, sẽ được cài đặt vàotiền tố/chia sẻ/mở soi kèo bóng đá truoctran

Moduledir #

thư mục con củatiền tố/chia sẻ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àMở soi kèo bóng đá truoctrannếuMở soi kèo bóng đá truoctranđược đặt hoặcĐóng gópnế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àotiền tố/chia sẻ/$ moduledir, cần được xây dựng đầu tiên

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 theotiền tố/bao gồm/máy chủ/$ moduledir/$ module_big.

Không giống nhưdata_built, Tệp trongheaders_builtkhông bị xóa bởiCleanmục tiêu; Nếu bạn muốn chúng bị xóa, cũng thêm chúng vàoExtra_cleanhoặ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) theotiền tố/bao gồm/server/$ moduledir/$ module, trong đó$ mô -đunphải là tên mô -đun được sử dụng trongMô -đunhoặcmodule_big.

Không giống nhưdata_built, Tệp trongheaders_built_ $ mô -đunkhông bị xóa bởiCleanmục tiêu; Nếu bạn muốn chúng bị xóa, cũng thêm chúng vàoExtra_Cleanhoặ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ô -đunDanh 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ô -đunBiế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àotiền tố/bin, cần được xây dựng đầu tiên

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

Refor_opts #

Chuyển đổi bổ sung để chuyển sang

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 sangPG_ISOLATION_RESS

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 đặtmụ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 địnhInstallcheckmục tiêu, 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 gắn vàoCFLAGS

PG_CXXFLAGS #

sẽ được gắn vàocxxflags

PG_LDFLAGS #

sẽ được chuẩn bị choldflags

pg_libs #

sẽ được thêm vàoChương trìnhLink Line

sẽ được thêm vàomodule_bigLink 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àMakefileTrong thư mục giữ phần mở soi kèo bóng đá truoctran 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ở soi kèo bóng đá truoctran được biên dịch và cài đặt choPostgreSQLCài đặt tương ứng với lần đầu tiênpg_configChương trình được tìm thấy trong bạnPath. Bạn có thể sử dụng cài đặt khác bằng cách cài đặtpg_configĐể trỏ đến nópg_configChương trình, trong Makefile hoặc trênlàmdòng lệnh.

Bạn có thể chọn một tiền tố thư mục riêng để cài đặt các tệp tiện ích mở soi kèo bóng đá truoctran của mình, bằng cách đặtlàmbiếntiền tốKhi thực hiệnTạo cài đặtnhư vậy:

Tạo cài đặt tiền tố =/usr/local/postgresql

Điều này sẽ cài đặt các tệp điều khiển mở soi kèo bóng đá truoctran và SQL vào/usr/local/postgresql/sharevà các mô -đun được chia sẻ thành/usr/local/postgresql/lib. Nếu tiền tố không bao gồm các chuỗiPostgreshoặcPGSQL, chẳng hạn như

Tạo tiền tố cài đặt =/usr/local/extras

sau đóPostgreSQLsẽ được gắn vào tên thư mục, cài đặt các tệp điều khiển và SQL vào23811_23857và các mô -đun được chia sẻ thành/usr/local/extras/lib/postgresql. Dù bằng cách nào, bạn sẽ cần phải đặtExtension_Control_pathDynamic_l Library_pathđể bậtPostgreSQLMáy chủ để tìm các tệp:

24312_24451

Bạn cũng có thể chạylàmTrong một thư mục bên ngoài cây nguồn của phần mở soi kèo bóng đá truoctran 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àmBiếnVpathnhư thế này:

Tạo vpath =/path/to/extension/source/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ạnBiế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 cài đặtsau 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ạnphải xuất hiện trong một thư mục con tênSQL/Trong thư mục tiện ích mở soi kèo bóng đá truoctran của bạn. Những tệp này phải có phần mở soi kèo bóng đá truoctran.sql, không được bao gồm trongThủy loạnDanh 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ở soi kèo bóng đá truoctran.out. Tạo cài đặtThực thi mỗi tập lệnh kiểm tra vớiPSQL, 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ệpRepression.diffsindiff -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àsự 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ậpBiế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 cài đặtsau 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ậpphải xuất hiện trong một thư mục con tênspecs/Trong thư mục tiện ích mở soi kèo bóng đá truoctran của bạn. Những tệp này phải có phần mở soi kèo bóng đá truoctran.spec, không được bao gồm trongcô lậpDanh 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ở soi kèo bóng đá truoctran.out. Tạo cài đặtThự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.diffsindiff -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ốHàng, 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_testsCho 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 31.4Để biết thêm chi tiết.

Tip

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.