Phiên bản được hỗ trợ:hiện tại(17)16
Phiên bản phát triển:18 / Devel
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 kèo bóng đá c1 phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

17.3. Xây dựng và kèo bóng đá c1 với AutoConf và tạo#

17.3.1. Phiên bản ngắn#

./configure

Phiên bản dài là phần còn lại của điều nàyPhần.

17.3.2. Quy trình kèo bóng đá c1#

  1. Cấu hình

    Bước đầu tiên của quy trình kèo bóng đá c1 là định cấu hình cây nguồn cho hệ thống của bạn và chọn các tùy chọn bạn muốn. Điều này được thực hiện bằng cách chạyCấu hìnhtập lệnh. Đối với kèo bóng đá c1 mặc định, chỉ cần nhập:

    ./configure
    

    Tập lệnh này sẽ chạy một số thử nghiệm để xác định kèo bóng đá c1 giá trị cho kèo bóng đá c1 biến phụ thuộc hệ thống khác nhau và phát hiện bất kỳ kỳ quặc nào của hệ điều hành của bạn và cuối cùng sẽ tạo một số tệp trong cây xây dựng để ghi lại những gì nó tìm thấy.

    Bạn cũng có thể chạyCấu hìnhTrong một thư mục bên ngoài cây nguồn, sau đó xây dựng ở đó, nếu bạn muốn giữ thư mục xây dựng tách biệt với kèo bóng đá c1 tệp nguồn gốc. Quy trình này được gọi làVpathXây kèo bóng đá c1. Đây là cách:

    mkdir build_dir
    cd build_dir
    /path/to/source/cây/cấu hình [Tùy chọn vào đây]
    làm
    

    Cấu hình mặc định sẽ xây dựng máy chủ và tiện ích, cũng như tất cả các ứng dụng và giao diện máy khách chỉ yêu cầu trình biên dịch C. Tất cả các tệp sẽ được kèo bóng đá c1 dưới/usr/local/pgsqlTheo mặc định.

    Bạn có thể tùy chỉnh quy trình xây dựng và kèo bóng đá c1 bằng cách cung cấp một hoặc nhiều tùy chọn dòng lệnh choCấu hình. Thông thường, bạn sẽ tùy chỉnh vị trí kèo bóng đá c1 hoặc tập hợp các tính năng tùy chọn được xây dựng.Cấu hìnhCó một số lượng lớn kèo bóng đá c1 tùy chọn, được mô tả trongPhần 17.3.3.

    Ngoài ra,Cấu hìnhTrả lời kèo bóng đá c1 biến môi trường nhất định, như được mô tả trongPhần 17.3.4. Chúng cung cấp kèo bóng đá c1 cách bổ sung để tùy chỉnh cấu hình.

  2. Build

    Để bắt đầu bản kèo bóng đá c1, hãy nhập một trong hai:

    làm
    làm tất cả
    

    (nhớ sử dụngGNU làm.) Bản kèo bóng đá c1 sẽ mất vài phút tùy thuộc vào phần cứng của bạn.

    Nếu bạn muốn xây dựng mọi thứ có thể được xây dựng, bao gồm cả tài liệu (trang HTML và người đàn ông) và kèo bóng đá c1 mô -đun bổ sung (Đóng góp), Thay vào đó hãy loại:

    Làm thế giới
    

    Nếu bạn muốn xây dựng mọi thứ có thể được xây dựng, bao gồm kèo bóng đá c1 mô -đun bổ sung (đóng góp), nhưng không có tài liệu, hãy loại thay thế:

    làm cho thế giới-bin
    

    Nếu bạn muốn gọi bản kèo bóng đá c1 từ một makefile khác chứ không phải bằng tay, bạn phải mở raMakelevelhoặc đặt nó thành 0, ví dụ như thế này:

    build-postgresql:

    Không thực hiện được điều đó có thể dẫn đến kèo bóng đá c1 thông báo lỗi kỳ lạ, thường là về kèo bóng đá c1 tệp tiêu đề bị thiếu.

  3. Kiểm tra hồi quy

    Nếu bạn muốn kiểm tra máy chủ mới được xây dựng trước khi kèo bóng đá c1 nó, bạn có thể chạy các thử nghiệm hồi quy tại thời điểm này. Các bài kiểm tra hồi quy là một bộ kiểm tra để xác minh rằngPostgreSQLChạy trên máy của bạn theo cách kèo bóng đá c1 nhà phát triển mong đợi. Kiểu:

    Làm cho kiểm tra
    

    (Điều này sẽ không hoạt động như root; làm điều đó như một người dùng không có đặc quyền.) XemChương 31Để biết thông tin chi tiết về việc diễn giải kết quả kiểm tra. Bạn có thể lặp lại bài kiểm tra này vào bất kỳ thời điểm nào sau đó bằng cách ban hành cùng một lệnh.

  4. kèo bóng đá c1 các tệp

    Lưu ý

    Nếu bạn đang nâng cấp một hệ thống hiện có, hãy chắc chắn đọcPhần 18.6, có hướng dẫn về việc nâng cấp một cụm.

    để kèo bóng đá c1PostgreSQLEnter:

    thực hiện kèo bóng đá c1
    

    Điều này sẽ kèo bóng đá c1 các tệp vào các thư mục được chỉ định trongBước 1. Hãy chắc chắn rằng bạn có quyền thích hợp để viết vào khu vực đó.

    Để kèo bóng đá c1 tài liệu (trang HTML và Man), Enter:

    Tạo kèo bóng đá c1-docs
    

    Nếu bạn xây kèo bóng đá c1 thế giới ở trên, hãy loại thay thế:

    Tạo thế giới kèo bóng đá c1
    

    Điều này cũng kèo bóng đá c1 tài liệu.

    Nếu bạn xây kèo bóng đá c1 thế giới mà không có tài liệu ở trên, hãy loại thay thế:

    Tạo kèo bóng đá c1-world-bin
    

    Bạn có thể sử dụngtạo kèo bóng đá c1-stripthay vìTạo kèo bóng đá c1Để loại bỏ các tệp và thư viện thực thi khi chúng được kèo bóng đá c1. Điều này sẽ tiết kiệm một số không gian.kèo bóng đá c1-Stripcố gắng thực hiện một không gian tiết kiệm công việc hợp lý, nhưng nó không có kiến ​​thức hoàn hảo về cách loại bỏ mọi byte không cần thiết từ một tệp thực thi

    15857_16057

    kèo bóng đá c1 chỉ dành cho máy khách:Nếu bạn chỉ muốn kèo bóng đá c1 các ứng dụng và thư viện giao diện của máy khách, thì bạn có thể sử dụng các lệnh này:

    MAKE -C SRC/BIN kèo bóng đá c1
    Make -c src/bao gồm kèo bóng đá c1
    16447_16479
    MAKE -C DOC kèo bóng đá c1
    

    src/binCó một vài nhị phân cho sử dụng chỉ cho máy chủ, nhưng chúng nhỏ.

Chứng minh:Để hoàn tác kèo bóng đá c1 Sử dụng lệnhTạo kèo bóng đá c1. Tuy nhiên, điều này sẽ không xóa bất kỳ thư mục được tạo nào.

Làm sạch:Sau khi kèo bóng đá c1, bạn có thể miễn phí không gian đĩa bằng cách xóa các tệp được xây dựng khỏi cây nguồn bằng lệnhlàm sạch. Điều này sẽ bảo tồn kèo bóng đá c1 tệp được tạo bởiCấu hìnhChương trình, để bạn có thể xây kèo bóng đá c1 lại mọi thứ bằnglàmSau này. Để đặt lại cây nguồn cho trạng thái được phân phối, sử dụngLàm cho Distclean. Nếu bạn định xây kèo bóng đá c1 cho một số nền tảng trong cùng một cây nguồn, bạn phải thực hiện việc này và cấu hình lại cho mỗi nền tảng.

Nếu bạn thực hiện bản kèo bóng đá c1 và sau đó khám phá ra rằng của bạnCấu hìnhTùy chọn đã sai hoặc nếu bạn thay đổi bất cứ điều gìCấu hìnhĐiều tra (ví dụ: nâng cấp phần mềm), thì đó là một ý tưởng tốt để làmLàm cho DistcleanTrước khi cấu hình lại và xây dựng lại. Không có điều này, những thay đổi của bạn trong kèo bóng đá c1 lựa chọn cấu hình có thể không lan truyền ở mọi nơi họ cần.

17.3.3.Cấu hìnhTùy chọn#

Cấu hình18482_18562./configure - -HelpĐể có được một cái đó). kèo bóng đá c1 tùy chọn không được đề cập ở đây có nghĩa là cho kèo bóng đá c1 trường hợp sử dụng nâng cao như quy định chéo và được ghi lại trong tài liệu AutoCONF tiêu chuẩn.

17.3.3.1. Vị trí kèo bóng đá c1#

Điều khiển tùy chọn này trong đóTạo kèo bóng đá c1Sẽ đặt kèo bóng đá c1 tệp. The--PrefixTùy chọn là đủ cho hầu hết các trường hợp. Nếu bạn có nhu cầu đặc biệt, bạn có thể tùy chỉnh các thư mục con kèo bóng đá c1 với các tùy chọn khác được mô tả trong phần này.người đàn ôngDocVị trí không bị ảnh hưởng bởi hạn chế này.) Đối với kèo bóng đá c1 có thể chuyển vị, bạn có thể muốn sử dụng--Disable-RpathTùy chọn được mô tả sau.

--prefix =tiền tố #

kèo bóng đá c1 tất cả các tệp trong thư mụctiền tốthay vì/usr/local/pgsql. Các tệp thực tế sẽ được kèo bóng đá c1 vào các thư mục con khác nhau;tiền tốThư mục.

--Exec-prefix =EXEC-PREFIX #

Bạn có thể kèo bóng đá c1 các tệp phụ thuộc kiến ​​trúc theo một tiền tố khác,EXEC-PREFIX, hơn những gìtiền tốĐã được đặt thành. Điều này có thể hữu ích để chia sẻ kèo bóng đá c1 tệp độc lập với kiến ​​trúc giữa kèo bóng đá c1 máy chủ.Exec-Prefixđược đặt bằngtiền tốVà cả hai tệp phụ thuộc vào kiến ​​trúc và độc lập sẽ được kèo bóng đá c1 dưới cùng một cây, có lẽ là những gì bạn muốn.

--Bindir =Thư mục #

Chỉ định thư mục cho kèo bóng đá c1 chương trình thực thi. Mặc định làEXEC-PREFIX/bin, thường có nghĩa là/usr/local/pgsql/bin.

--sysconfdir =Thư mục #

Đặt thư mục cho kèo bóng đá c1 tệp cấu hình khác nhau,tiền tố/etcTheo mặc định.

-libdir =Thư mục #

Đặt vị trí để kèo bóng đá c1 thư viện và các mô -đun có thể tải động. Mặc định làEXEC-PREFIX/lib.

--includedir =Thư mục #

Đặt thư mục để kèo bóng đá c1 các tệp tiêu đề C và C ++. Mặc định làtiền tố/Bao gồm.

-datarootDir =Thư mục #

Đặt thư mục gốc cho kèo bóng đá c1 loại tệp dữ liệu chỉ đọc khác nhau. Điều này chỉ đặt mặc định cho một số tùy chọn sau.tiền tố/chia sẻ.

-datadir =Thư mục #

Đặt thư mục cho các tệp dữ liệu chỉ đọc được sử dụng bởi các chương trình được kèo bóng đá c1. Mặc định làDatarootDir. Lưu ý rằng điều này không liên quan gì đến nơi kèo bóng đá c1 tệp cơ sở dữ liệu của bạn sẽ được đặt.

-localedir =Thư mục #

Đặt thư mục để kèo bóng đá c1 dữ liệu địa phương, cụ thể là các tệp danh mục dịch tin nhắn. Mặc định làDatarootDir/Locale.

--mandir =Thư mục #

Trang người đàn ông đi kèm vớiPostgreSQLsẽ được kèo bóng đá c1 trong thư mục này, trong tương ứngngười đàn ôngxSubDirectories. Mặc định làDatarootDir/Man.

--docdir =Thư mục #

Đặt thư mục gốc để kèo bóng đá c1 các tệp tài liệu, ngoại trừngười đàn ôngHồitrang. Điều này chỉ đặt mặc định cho kèo bóng đá c1 tùy chọn sau.DatarootDir/Doc/PostgreSQL.

--htmldir =Thư mục #

Tài liệu được định dạng HTML choPostgreSQLsẽ được kèo bóng đá c1 theo thư mục này. Mặc định làDatarootDir.

Lưu ý

Chăm sóc đã được thực hiện để có thể kèo bóng đá c1PostgreSQLvào các vị trí kèo bóng đá c1 được chia sẻ (chẳng hạn như/usr/local/bao gồm) mà không can thiệp vào không gian tên của phần còn lại của hệ thống. Đầu tiên, chuỗi/POSTGRESQLHồiđược tự động gắn vàoDatadir, sysconfdirDocDir, Trừ khi tên thư mục được mở rộng đầy đủ đã chứa chuỗiHồiPostgreshoặcPGSQL. Ví dụ: nếu bạn chọn/usr/localLà tiền tố, tài liệu sẽ được kèo bóng đá c1 trong/usr/local/doc/postgresql, nhưng nếu tiền tố là/opt/postgres, thì nó sẽ ở/opt/postgres/doc. Các tệp tiêu đề C công khai của các giao diện máy khách được kèo bóng đá c1 vàoBao gồmvà là không gian tên không gian tên. Các tệp tiêu đề nội bộ và các tệp tiêu đề máy chủ được kèo bóng đá c1 vào các thư mục riêng theoBao gồm. Xem tài liệu của từng giao diện để biết thông tin về cách truy cập kèo bóng đá c1 tệp tiêu đề của nó.libdircho kèo bóng đá c1 mô -đun có thể tải động.

17.3.3.2.PostgreSQLtính năng#

kèo bóng đá c1 tùy chọn được mô tả trong phần này cho phép xây dựng khác nhauPostgreSQLkèo bóng đá c1 tính năng không được xây dựng theo mặc định. Hầu hết trong số này chỉ là không mặc định chỉ vì chúng yêu cầu phần mềm bổ sung, như được mô tả trongPhần 17.1.

--Enable-NLS [=Ngôn ngữ] #

Cho phép hỗ trợ ngôn ngữ bản địa (NLS), nghĩa là khả năng hiển thị kèo bóng đá c1 thông điệp của chương trình bằng một ngôn ngữ khác tiếng Anh.Ngôn ngữlà một danh sách phân tách không gian tùy chọn của kèo bóng đá c1 mã của kèo bóng đá c1 ngôn ngữ mà bạn muốn được hỗ trợ, ví dụ--Enable-nls = 'de fr'. (Giao điểm giữa danh sách của bạn và tập hợp các bản dịch được cung cấp thực sự sẽ được tính toán tự động.) Nếu bạn không chỉ định danh sách, thì tất cả các bản dịch có sẵn được kèo bóng đá c1.

Để sử dụng tùy chọn này, bạn sẽ cần triển khaiGetTextAPI.

--with-perl #

xây kèo bóng đá c1PL/PerlNgôn ngữ phía máy chủ.

--with-python #

Xây kèo bóng đá c1PL/PythonNgôn ngữ phía máy chủ.

--with-tcl #

Xây kèo bóng đá c1PL/TCLNgôn ngữ phía máy chủ.

--with-tclconfig =Thư mục #

TCL kèo bóng đá c1 tệpTCLCONFIG.SH, chứa thông tin cấu hình cần thiết để xây dựng kèo bóng đá c1 mô -đun giao tiếp với TCL. Tệp này thường được tìm thấy tự động tại một vị trí nổi tiếng, nhưng nếu bạn muốn sử dụng một phiên bản khác của TCL, bạn có thể chỉ định thư mục để tìm kiếmTCLCONFIG.SH.

--with-llvm #

Build với hỗ trợ choLLVMdựa trênJITbiên soạn (xemChương 30). Điều này yêu cầuLLVMThư viện sẽ được kèo bóng đá c1. Phiên bản yêu cầu tối thiểu củaLLVMhiện là 14.

LLVM-Configsẽ được sử dụng để tìm kèo bóng đá c1 tùy chọn biên dịch cần thiết.LLVM-Configsẽ được tìm kiếm trong của bạnđường dẫn. Nếu điều đó không mang lại chương trình mong muốn, hãy sử dụngLLVM_CONFIGĐể chỉ định đường dẫn đến đúngLLVM-Config. Ví dụ

32482_32557

LLVMHỗ trợ yêu cầu tương thíchClangtrình biên dịch (được chỉ định, nếu cần, sử dụngClangBiến môi trường) và trình biên dịch C ++ hoạt động (được chỉ định, nếu cần, sử dụngCXXBiến môi trường).

--with-lz4 #

xây kèo bóng đá c1 vớiLZ4Hỗ trợ nén.

--with-zstd #

xây kèo bóng đá c1 vớiZstandardHỗ trợ nén.

--with-ssl =Thư viện #

xây kèo bóng đá c1 với sự hỗ trợ choSSL(mã hóa) Kết nối. Duy nhấtThư việnđược hỗ trợ làOpenSSL, được sử dụng cho cả haiOpenSSLLibressl. Điều này yêu cầuOpenSSLGói sẽ được kèo bóng đá c1.Cấu hìnhSẽ kiểm tra kèo bóng đá c1 tệp và thư viện tiêu đề cần thiết để đảm bảo rằng của bạnOpenSSLkèo bóng đá c1 là đủ trước khi tiến hành.

--with-opensssl #

Tương đương lỗi thời--with-ssl = openSSL.

--with-gssapi #

Xây dựng với sự hỗ trợ cho xác thực GSSAPI. MIT Kerberos được yêu cầu kèo bóng đá c1 cho GSSAPI./usr/bao gồm, /usr/lib), vì vậy bạn phải sử dụng kèo bóng đá c1 tùy chọn--với-Includes-với thư việnNgoài tùy chọn này.Cấu hìnhSẽ kiểm tra các tệp và thư viện tiêu đề cần thiết để đảm bảo rằng kèo bóng đá c1 GSSAPI của bạn là đủ trước khi tiến hành.

--with-ldap #

xây kèo bóng đá c1 vớiLDAPHỗ trợ để xác thực và tra cứu tham số kết nối (xemPhần 32.18Phần 20.10Để biết thêm thông tin). Trên Unix, điều này yêu cầuOpenLDAPGói sẽ được kèo bóng đá c1. Trên Windows, mặc địnhWinldapThư viện được sử dụng.Cấu hìnhSẽ kiểm tra kèo bóng đá c1 tệp và thư viện tiêu đề cần thiết để đảm bảo rằng của bạnOpenLDAPkèo bóng đá c1 là đủ trước khi tiến hành.

--with-pam #

xây kèo bóng đá c1 vớiPAM(Mô -đun xác thực có thể cắm) Hỗ trợ.

--with-bsd-auth #

Xây kèo bóng đá c1 với hỗ trợ xác thực BSD. (Khung xác thực BSD hiện chỉ khả dụng trên OpenBSD.)

--with-systemd #

xây kèo bóng đá c1 với sự hỗ trợ chosystemdThông báo dịch vụ. Điều này cải thiện tích hợp nếu máy chủ được khởi động theosystemdnhưng không có tác động khác; nhìn thấyPhần 18.3Để biết thêm thông tin.LibSystemdVà các tệp tiêu đề được liên kết cần được kèo bóng đá c1 để sử dụng tùy chọn này.

--with-bonjour #

Xây kèo bóng đá c1 với sự hỗ trợ cho khám phá dịch vụ tự động Bonjour. Điều này đòi hỏi sự hỗ trợ của Bonjour trong hệ điều hành của bạn.

--with-uuid =Thư viện #

Xây kèo bóng đá c1UUID-OSSPMô -đun (cung cấp kèo bóng đá c1 chức năng để tạo UUID), sử dụng thư viện UUID được chỉ định. Thư việnphải là một trong số:

  • BSDĐể sử dụng kèo bóng đá c1 hàm UUID được tìm thấy trong FreeBSD và một số hệ thống có nguồn gốc BSD khác

  • E2FSĐể sử dụng thư viện UUID được tạo bởiE2FSPROGSDự án; Thư viện này có mặt trong hầu hết kèo bóng đá c1 hệ thống Linux và trong kèo bóng đá c1 macOS, và cũng có thể được lấy cho kèo bóng đá c1 nền tảng khác

  • OSSPĐể sử dụngThư viện UUID OSSP

--with-ossp-uuid #

Tương đương lỗi thời--with-uuid = ossp.

--with-Libcurl #

Xây dựng với hỗ trợ LibCurl cho kèo bóng đá c1 luồng máy khách OAuth 2.0. Libcurl phiên bản 7.61.0 trở lên được yêu cầu cho tính năng này.Curlkèo bóng đá c1 là đủ trước khi tiến hành.

-với-Libnuma #

Xây dựng với hỗ trợ Libnuma cho hỗ trợ Numa cơ bản. Chỉ được hỗ trợ trên kèo bóng đá c1 nền tảng màLibnumaThư viện được triển khai.

-với-liburing #

Xây kèo bóng đá c1 với Liburing, cho phép hỗ trợ io_uring cho I/O. Không đồng bộ

Để phát hiện kèo bóng đá c1 tùy chọn trình biên dịch và trình liên kết cần thiết, PostgreSQL sẽ truy vấnPKG-Config.

Để sử dụng kèo bóng đá c1 liburing ở vị trí bất thường, bạn có thể đặtPKG-ConfigBiến môi trường liên quan (xem tài liệu của nó).

--with-libxml #

Xây kèo bóng đá c1 với libxml2, cho phép hỗ trợ SQL/XML. LIBXML2 Phiên bản 2.6.23 trở lên được yêu cầu cho tính năng này.

Để phát hiện kèo bóng đá c1 tùy chọn trình biên dịch và trình liên kết cần thiết, PostgreSQL sẽ truy vấnPKG-Config, nếu được kèo bóng đá c1 và biết về libxml2. Nếu không thì chương trìnhXML2-Config, được kèo bóng đá c1 bởi libxml2, sẽ được sử dụng nếu được tìm thấy. Sử dụngPKG-Configđược ưu tiên, vì nó có thể xử lý các kèo bóng đá c1 đa kiến ​​trúc tốt hơn.

Để sử dụng kèo bóng đá c1 libxml2 ở vị trí bất thường, bạn có thể đặtPKG-Configkèo bóng đá c1 biến môi trường liên quan (xem tài liệu của nó) hoặc đặt biến môi trườngXML2_CONFIGĐể trỏ đếnXML2-ConfigChương trình thuộc về kèo bóng đá c1 libxml2 hoặc đặt các biếnXML2_CFLAGSXML2_LIBS. (Nếu nhưPKG-Configđược kèo bóng đá c1, sau đó để ghi đè ý tưởng của nó về nơi libxml2 là bạn phải đặtxml2_confighoặc đặt cảXML2_CFLAGSXML2_LIBSđến chuỗi không trống.)

--with-libxslt #

Xây kèo bóng đá c1 với libxslt, cho phépXML2Mô -đun để thực hiện kèo bóng đá c1 biến đổi XSL của XML.--with-libxmlphải được chỉ định.

--with-selinux #

Xây kèo bóng đá c1 với hỗ trợ Selinux, cho phépsepgsql​​phần mở rộng.

17.3.3.3. Chống tính năng#

kèo bóng đá c1 tùy chọn được mô tả trong phần này cho phép vô hiệu hóa một sốPOSTGRESQLkèo bóng đá c1 tính năng được xây dựng theo mặc định, nhưng có thể cần phải tắt nếu phần mềm hoặc tính năng hệ thống cần thiết không có sẵn. Sử dụng kèo bóng đá c1 tùy chọn này không được khuyến nghị trừ khi thực sự cần thiết.

--without-icu #

Build không hỗ trợ choICUThư viện, vô hiệu hóa việc sử dụng kèo bóng đá c1 tính năng đối chiếu ICU (xemPhần 23.2).

--without-wreadline #

Ngăn chặn việc sử dụngReadlineThư viện (vàlibeditlà tốt). Tùy chọn này vô hiệu hóa chỉnh sửa dòng lệnh và lịch sử trongPSQL.

--with-libedit-referred #

ủng hộ việc sử dụng BSD được cấp phéplibeditThư viện thay vì được cấp phép GPLReadline. Tùy chọn này chỉ có ý nghĩa nếu bạn kèo bóng đá c1 cả hai thư viện;Readline.

--without-zlib #

Ngăn chặn việc sử dụngzlibThư viện. Điều này vô hiệu hóa hỗ trợ cho tài liệu lưu trữ được nén trongPG_DUMPpg_restore.

17.3.3.4. Xây kèo bóng đá c1 chi tiết quy trình#

--với-includes =Thư mục #

thư mụclà một danh sách kèo bóng đá c1 thư mục được phân tách đại tràng sẽ được thêm vào danh sách kèo bóng đá c1 tìm kiếm trình biên dịch cho kèo bóng đá c1 tệp tiêu đề. Nếu bạn có kèo bóng đá c1 gói tùy chọn (chẳng hạn như GNUReadline) Được kèo bóng đá c1 ở vị trí không chuẩn, bạn phải sử dụng tùy chọn này và có lẽ cũng là tương ứng-với thư việnTùy chọn.

Ví dụ:-với in-includes =/opt/gnu/bao gồm:/usr/sup/bao gồm.

-với thư viện =Thư mục #

Thư mụclà danh sách kèo bóng đá c1 thư mục được phân tách đại tràng để tìm kiếm kèo bóng đá c1 thư viện. Bạn có thể sẽ phải sử dụng tùy chọn này (và tương ứng--với-Includestùy chọn) Nếu bạn đã kèo bóng đá c1 các gói ở các vị trí không chuẩn.

Ví dụ:--with-libres =/opt/gnu/lib:/usr/sup/lib.

--with-system-tzdata =Thư mục #

PostgreSQLBao gồm cơ sở dữ liệu múi giờ riêng của nó, mà nó yêu cầu cho các hoạt động ngày và giờ. Cơ sở dữ liệu múi giờ này trên thực tế tương thích với cơ sở dữ liệu múi giờ IANA được cung cấp bởi nhiều hệ điều hành như FreeBSD, Linux và Solaris, do đó sẽ dự phòng để kèo bóng đá c1 lại.Thư mụcđược sử dụng thay vì cái được bao gồm trong phân phối nguồn PostgreSQL.Thư mụcphải được chỉ định là đường dẫn tuyệt đối./usr/share/zoneinfolà một thư mục có khả năng trên một số hệ điều hành. Lưu ý rằng thói quen kèo bóng đá c1 sẽ không phát hiện dữ liệu múi giờ không khớp hoặc sai.PostgreSQL.

Tùy chọn này chủ yếu nhằm vào kèo bóng đá c1 nhà phân phối gói nhị phân, những người biết rõ về hệ điều hành mục tiêu của họ. Ưu điểm chính của việc sử dụng tùy chọn này là gói PostgreSQL sẽ không cần phải được nâng cấp bất cứ khi nào bất kỳ quy tắc thời gian tiết kiệm ánh sáng ban ngày địa phương nào thay đổi.

--with-extra-version =chuỗi #

Phụ lụcchuỗiđến số phiên bản PostgreSQL. Bạn có thể sử dụng điều này, ví dụ, để đánh dấu kèo bóng đá c1 nhị phân được xây dựng từ kèo bóng đá c1 ảnh chụp nhanh không được phát hành hoặc chứa kèo bóng đá c1 bản vá tùy chỉnh với một chuỗi phiên bản bổ sung, chẳng hạn nhưGIT Mô tảĐịnh danh hoặc số phát hành gói phân phối.

--Disable-RPATH #

Không đánh dấuPostgreSQLS exetable để cho biết rằng họ nên tìm kiếm các thư viện được chia sẻ trong thư mục thư viện của kèo bóng đá c1 (xem--Libdir). Trên hầu hết các nền tảng, đánh dấu này sử dụng một đường dẫn tuyệt đối đến thư mục thư viện, do đó sẽ không có ích gì nếu bạn di dời kèo bóng đá c1 sau.Phần 17.5.1Để biết thêm chi tiết.

17.3.3.5. Linh tinh#

Nó khá phổ biến, đặc biệt đối với kèo bóng đá c1 bản dựng thử nghiệm, để điều chỉnh số cổng mặc định với--with-pgport. kèo bóng đá c1 tùy chọn khác trong phần này chỉ được khuyến nghị cho người dùng nâng cao.

--with-pgport =Số #

setSốLà số cổng mặc định cho máy chủ và máy khách. Mặc định là 5432. Cổng luôn có thể được thay đổi sau này, nhưng nếu bạn chỉ định nó ở đây thì cả máy chủ và máy khách sẽ có cùng một mặc định được biên dịch, có thể rất thuận tiện.POSTGRESQLMáy chủ trên cùng một máy.

--with-krb-srvnam =tên #

Tên mặc định của hiệu trưởng dịch vụ Kerberos được sử dụng bởi GSSAPI.Postgreslà mặc định. Thường không có lý do để thay đổi điều này trừ khi bạn đang xây kèo bóng đá c1 cho môi trường Windows, trong trường hợp đó phải được đặt thành trường hợp trênPostgres.

--with-segsize =Segsize #

ĐặtKích thước phân đoạn, trong gigabyte. kèo bóng đá c1 bảng lớn được chia thành nhiều tệp hệ điều hành, mỗi kích thước bằng kích thước phân đoạn.LargeFileHỗ trợ (điều mà hầu hết, ngày nay), bạn có thể sử dụng kích thước phân đoạn lớn hơn. Điều này có thể hữu ích để giảm số lượng mô tả tệp được tiêu thụ khi làm việc với kèo bóng đá c1 bảng rất lớn.tar, cũng có thể đặt giới hạn về kích thước tệp có thể sử dụng. Mặc dù không bắt buộc, mặc dù không hoàn toàn bắt buộc, giá trị này là sức mạnh của 2. Lưu ý rằng việc thay đổi giá trị này phá vỡ khả năng tương thích cơ sở dữ liệu trên đĩa, có nghĩa là bạn không thể sử dụngpg_upgradeĐể nâng cấp lên bản kèo bóng đá c1 với kích thước phân đoạn khác.

--with-blocksize =blocksize #

ĐặtKích thước khối, trong kilobyte. Đây là đơn vị lưu trữ và I/O trong kèo bóng đá c1 bảng.PG_UPGRADEĐể nâng cấp lên bản kèo bóng đá c1 với kích thước khối khác.

--with-wal-blocksize =blocksize #

ĐặtKích thước khối Wal, trong kilobyte. Đây là đơn vị lưu trữ và I/O trong nhật ký Wal.pg_upgradeĐể nâng cấp lên bản kèo bóng đá c1 với kích thước khối Wal khác.

17.3.3.6. Tùy chọn nhà phát triển#

Hầu hết kèo bóng đá c1 tùy chọn trong phần này chỉ được quan tâm để phát triển hoặc gỡ lỗiPostgreSQL. Chúng không được khuyến nghị cho kèo bóng đá c1 bản dựng sản xuất, ngoại trừ--Enable-Debug, có thể hữu ích để kích hoạt kèo bóng đá c1 báo cáo lỗi chi tiết trong sự kiện không may mắn mà bạn gặp phải lỗi. Trên kèo bóng đá c1 nền tảng hỗ trợ DTRACE,--Enable-dtracecũng có thể hợp lý để sử dụng trong sản xuất.

Khi xây dựng một kèo bóng đá c1 sẽ được sử dụng để phát triển mã bên trong máy chủ, nên sử dụng ít nhất các tùy chọn--Enable-Debug--Enable-cassert.

--Enable-Debug #

Biên dịch tất cả kèo bóng đá c1 chương trình và thư viện với kèo bóng đá c1 ký hiệu gỡ lỗi. Điều này có nghĩa là bạn có thể chạy kèo bóng đá c1 chương trình trong trình gỡ lỗi để phân tích kèo bóng đá c1 vấn đề.

--Enable-cassert #

cho phépKhẳng địnhKiểm tra trong máy chủ, kiểm tra cho nhiều ngườikhông thể xảy raĐiều kiện. Điều này là vô giá cho mục đích phát triển mã, nhưng kèo bóng đá c1 thử nghiệm có thể làm chậm máy chủ đáng kể.

--Enable-Tap-Tests #

Kích hoạt các kiểm tra bằng công cụ Perl Tap. Điều này yêu cầu kèo bóng đá c1 perl và mô -đun perlIPC :: Chạy. Nhìn thấyPhần 31.4Để biết thêm thông tin.

--Enable-end #

Cho phép theo dõi phụ thuộc tự động. Với tùy chọn này, kèo bóng đá c1 makefiles được thiết lập để tất cả kèo bóng đá c1 tệp đối tượng bị ảnh hưởng sẽ được xây dựng lại khi bất kỳ tệp tiêu đề nào được thay đổi.

--enable-coverage #

Nếu sử dụng GCC, tất cả kèo bóng đá c1 chương trình và thư viện đều được biên dịch với thiết bị kiểm tra bảo hiểm mã. Khi chạy, chúng tạo kèo bóng đá c1 tệp trong thư mục xây dựng với kèo bóng đá c1 số liệu bảo hiểm mã.Phần 31,5Để biết thêm thông tin. Tùy chọn này chỉ được sử dụng với GCC và khi thực hiện công việc phát triển.

#

Nếu sử dụng GCC, tất cả kèo bóng đá c1 chương trình và thư viện đều được biên dịch để chúng có thể được lập trình. Trên lối ra phụ trợ, một thư mục con sẽ được tạo có chứagmon.outTệp chứa dữ liệu hồ sơ. Tùy chọn này chỉ được sử dụng với GCC và khi thực hiện công việc phát triển.

--Enable-dtrace #

biên dịchPostgreSQLvới sự hỗ trợ cho công cụ theo dõi động DTRACE. Nhìn thấyPhần 27.5Để biết thêm thông tin.

Để trỏ đếnDTRACEChương trình, biến môi trườngDTRACEcó thể được đặt. Điều này thường sẽ là cần thiết bởi vìDTRACEthường được kèo bóng đá c1 dưới/usr/sbin, có thể không có trong bạnđường dẫn.

Tùy chọn dòng lệnh bổ sung choDTRACEChương trình có thể được chỉ định trong biến môi trườngdtraceFlags. Trên Solaris, để bao gồm hỗ trợ DTRACE trong nhị phân 64 bit, bạn phải chỉ địnhdtraceFlags = "-64". Ví dụ: sử dụng trình biên dịch GCC:

./configure cc = 'gcc -m64' --Enable-dtrace dtraceFlags = '-64' ...

Sử dụng trình biên dịch của Sun:

.
#

biên dịchPostgreSQLvới sự hỗ trợ cho kèo bóng đá c1 điểm tiêm trong máy chủ. Điểm tiêm cho phép chạy mã do người dùng xác định từ bên trong máy chủ trong kèo bóng đá c1 đường dẫn mã được xác định trước.Phần 36.10.14Để biết thêm chi tiết. Tùy chọn này chỉ được sử dụng bởi kèo bóng đá c1 nhà phát triển để thử nghiệm.

--with-segsize-blocks = segsize_blocks #

Chỉ định kích thước phân đoạn quan hệ trong kèo bóng đá c1 khối. Nếu cả hai--with-segsizeVà tùy chọn này được chỉ định, tùy chọn này thắng. Tùy chọn này chỉ dành cho kèo bóng đá c1 nhà phát triển, để kiểm tra mã liên quan đến phân đoạn.

17.3.4.Cấu hìnhBiến môi trường#

Ngoài kèo bóng đá c1 tùy chọn dòng lệnh thông thường được mô tả ở trên,Cấu hìnhTrả lời một số biến môi trường. Bạn có thể chỉ định kèo bóng đá c1 biến môi trường trênCấu hìnhdòng lệnh, ví dụ:

./configure cc =/opt/bin/gcc cflags = ' -o2 -pipe'

Trong cách sử dụng này, biến môi trường ít khác với tùy chọn dòng lệnh. Bạn cũng có thể đặt kèo bóng đá c1 biến như vậy trước:

Xuất cc =/opt/bin/gcc
Xuất cflags = ' -o2 -pipe'
./configure

Cách sử dụng này có thể thuận tiện vì nhiều tập lệnh cấu hình của chương trình đáp ứng với kèo bóng đá c1 biến này theo những cách tương tự.

được sử dụng phổ biến nhất trong kèo bóng đá c1 biến môi trường này làCCCFLAGS. Nếu bạn thích trình biên dịch c khác với mộtCấu hìnhchọn, bạn có thể đặt biếnCCTheo chương trình bạn chọn. Theo mặc định,Cấu hìnhsẽ chọnGCCNếu có sẵn, khác là mặc định của nền tảng (thường làCC). Tương tự, bạn có thể ghi đè kèo bóng đá c1 cờ trình biên dịch mặc định nếu cần vớicflagsbiến.

Đây là danh sách kèo bóng đá c1 biến quan trọng có thể được đặt theo cách này:

Bison #

Chương trình Bison

CC #

c trình biên dịch

CFLAGS #

Tùy chọn chuyển đến trình biên dịch C

Clang #

đường dẫn đếnClangChương trình được sử dụng để xử lý mã nguồn để nội tuyến khi biên dịch với--with-llvm

CPP #

C tiền xử lý

cppflags #

Tùy chọn để chuyển đến bộ tiền xử lý C

CXX #

c ++ trình biên dịch

cxxflags #

Tùy chọn để chuyển đến trình biên dịch C ++

DTRACE #

Vị trí củaDTRACEChương trình

dtraceFlags #

Tùy chọn để chuyển đếnDTRACEChương trình

Flex #

Chương trình Flex

ldflags #

Tùy chọn sử dụng khi liên kết kèo bóng đá c1 thư viện thực thi hoặc thư viện được chia sẻ

LDFLAGS_EX #

Tùy chọn bổ sung chỉ để liên kết kèo bóng đá c1 tệp thực thi

LDFLAGS_SL #

kèo bóng đá c1 tùy chọn bổ sung chỉ để liên kết kèo bóng đá c1 thư viện được chia sẻ

llvm_config #

LLVM-ConfigChương trình được sử dụng để xác định vị tríLLVMkèo bóng đá c1

MSGFMT #

MSGFMTChương trình hỗ trợ ngôn ngữ bản địa

perl #

Chương trình phiên dịch Perl. Điều này sẽ được sử dụng để xác định kèo bóng đá c1 phụ thuộc để xây dựng PL/Perl.perl.

Python #

Chương trình phiên dịch Python. Điều này sẽ được sử dụng để xác định kèo bóng đá c1 phụ thuộc để xây dựng PL/Python.Python3 Python.

TCLSH #

Chương trình phiên dịch TCL. Điều này sẽ được sử dụng để xác định kèo bóng đá c1 phụ thuộc để xây dựng PL/TCL.TCLSH TCL TCLSH8.6 TCLSH86 TCLSH8.5 TCLSH85 TCLSH8.4 TCLSH84.

XML2_CONFIG #

XML2-ConfigChương trình được sử dụng để định vị kèo bóng đá c1 libxml2

Đôi khi, rất hữu ích khi thêm kèo bóng đá c1 cờ biên dịch sau khi thực tế vào tập hợp được chọn bởiCấu hình. Một ví dụ quan trọng làGCC'S-WeRRORTùy chọn không thể được bao gồm trongCFLAGSđược chuyển choCấu hình, vì nó sẽ phá vỡ nhiềuCấu hình73757_73817CoptBiến môi trường trong khi chạylàm. Nội dung củaCoptđược thêm vàoCFLAGS, cxxflagsldflagsTùy chọn được thiết lập bởiCấu hình. Ví dụ: bạn có thể làm

tạo Copt = '-Werror'

hoặc

Xuất Copt = '-Werror'
làm

Lưu ý

Nếu sử dụng GCC, tốt nhất là xây kèo bóng đá c1 với mức tối ưu hóa ít nhất-O1, vì không sử dụng tối ưu hóa (-O0) Vô hiệu hóa một số cảnh báo trình biên dịch quan trọng (chẳng hạn như sử dụng kèo bóng đá c1 biến không chính xác). Tuy nhiên, kèo bóng đá c1 mức tối ưu hóa khác không có thể làm phức tạp việc gỡ lỗi vì bước qua mã được biên dịch thường sẽ không khớp với một-một với kèo bóng đá c1 dòng mã nguồn.-O0. Một cách dễ dàng để làm điều này là bằng cách chuyển một tùy chọn cholàm: Tạo hồ sơ = -O0 Tệp.o.

TheCoptHồ sơBiến môi trường thực sự được xử lý giống hệt nhau bởiPOSTGRESQLMakefiles. Việc sử dụng nào là vấn đề ưu tiên, nhưng thói quen phổ biến giữa kèo bóng đá c1 nhà phát triển là sử dụngHồ sơcho kèo bóng đá c1 điều chỉnh cờ một lần, trong khiCoptCó thể được giữ mọi lúc.