16.4.1. configure Options

16.4.1.configure选项

以下对configure的部分选项进行解释(使用./configure –help获取更多帮助)。

16.4.1.1.安装路径

该选项控制make install命令安装文件路径。大部分情况下,均可使用–prefix选项。

–prefix=PREFIX

将所有文件放置到PREFIX指定的路径下(而非默认的/usr/local/pgsql)。

–exec-prefix=EXEC-PREFIX

将体系结构相关的文件放置到与PREFIX不同的路径下。

–bindir=DIRECTORY

可执行文件路径。默认为EXEC-PREFIX/bin,即默认为/usr/local/pgsql/bin。

–sysconfdir=DIRECTORY

配置文件路径。默认为PREFIX/etc。

–libdir=DIRECTORY

设置库及动态加载模块安装路径。默认为EXECPREFIX/lib

–includedir=DIRECTORY

C和C++头文件所在路径,默认为PREFIX/include。

–datarootdir=DIRECTORY

只读数据文件的根目录。默认为PREFIX/share

–localedir=DIRECTORY

本地数据,特别是信息翻译库文件的存放路径。默认为DATAROOTDIR/locale

–mandir=DIRECTORY

PostgreSQL的主页面所在路径。默认为DATAROOTDIR/man

–docdir=DIRECTORY

文档文件的路径。默认为DATAROOTDIR/doc/postgresql。

–htmldir=DIRECTORY

PostgreSQL的HTML格式文档的安装路径。默认为DATAROOTDIR。

16.4.1.2.PostgreSQL特性

本节介绍创建PostgreSQL非默认特性的选项。之所以这些特性为非默认的,是因为它们依赖于其他的软件,参见第16.2章节。

–enable-nls[=LANGUAGES]

启用本地语言支持(NLS)。若不指定LANGUAGE,则会安装所有可用的语言。

需要Gettext API。

–with-perl

创建PL/Perl服务端语言。

–with-python

创建PL/Python服务端语言。

–with-tcl

创建PL/Tcl服务端语言。

–with-tclconfig=DIRECTORY

tcl配置文件tclConfig.sh所在路径。

–with-icu

支持ICU(International Component for Unicode)库,参见第23.2章节。需要安装ICU4C包,版本至少为4.2。

–with-llvm

构建基于JIT的LLVM支持(参见第31章)。需要安装LLVM库,最低版本为3.9。

–with-openssl

支持SSL(加密)连接。需要安装OpenSSL。

–with-gssapi

支持GSSAPI加密。

–with-ldap

支持LDAP认证及连接参数查看(参加第33.17章节以及第20.10章节)。unix下需要安装OpenLDAP包,windows下,需要安装WinLDAP包。

–with-pam

支持PAM(Pluggable Authentication Modules,可拔插认证模块)。

–with-bsd-auth

支持BSD认证。

–with-systemd

支持systemd服务提醒。参见第18.3章节。需要安装libsystemd及其相关文件。

–with-bonjour

支持Bonjour自动服务发现。

–with-uuid=LIBRARY

创建使用指定UUID库的uuid-ossp模块(提供生成UUID的功能)。LIBRARY需为以下之一:

  • bsd

  • e2fs

  • ossp

–with-ossp-uuid

等同–with-uuid=ossp。

–with-libxml

支持SQL/XML。需要安装Libxml2 2.6.23及更新版本。

–with-libxslt

使用libxslt构建,启用xml2模块从而可以从xml到xsl的转换。必须同时指定–withlibxml

16.4.1.3.关闭特性

本节介绍关闭某些默认创建的PostgreSQL特性。如非必要,无需执行。

–without-readline

禁用readline。使得无法在命令行psql编辑和使用历史命令。

–with-libedit-preferred

使用BSD-licensed libedit库而非GPL-licensed ReadLine。默认使用ReadLine。

–without-zlib

不使用zlib库。

–disable-spinlocks

即使PostgreSQL不支持平台的CPU自旋锁,也可以构建成功。使用此选项,会导致很严重的数据库性能问题。

–disable-atomics

禁用CPU原子操作。可能导致数据库性能问题。

–disable-thread-safety

禁用客户端库的线程安全。 这样可以防止libpq和ECPG程序中的并发线程安全地控制其专用连接句柄。 仅在线程支持不足的平台上使用此功能。

16.4.1.4.构建过程详情

–with-includes=DIRECTORIES

DIRECTORIES为冒号分隔的列表,编译器从该路径中检索头文件。如果包装在了非默认路径,则需要指定该参数。

示例:–with-includes=/opt/gnu/include:/usr/sup/include

–with-libraries=DIRECTORIES

DIRECTORIES为冒号分隔的列表,内为库文件。

示例:–with-libraries=/opt/gnu/lib:/usr/sup/lib

–with-system-tzdata=DIRECTORY

使用外部的时区数据库。

–with-extra-version=STRING

添加STRING到PostgreSQL版本号上。

–disable-rpath

不要标记PostgreSQL的可执行文件以指示它们应该在安装的库目录中搜索共享库(请参见–libdir)。参见第16.5.1章节。

16.4.1.5 其他

在构建时修改默认端口号–with-pgport。以下参数,限资深用户使用。

–with-pgport=NUMBER

为客户端及服务端设置默认端口号。默认为5432。

–with-krb-srvnam=NAME

GSSAPI使用的Kerberos默认名称。默认为postgres。在windows下,必须设置为POSTGRES。

–with-segsize=SEGSIZE

以GB为单位设置segment size。大表被分为segment size大小的多个文件。默认为1GB。不同segment size,不可使用pg_upgrade升级。

–with-blocksize=BLOCKSIZE

以KB为单位设置block size。此为表中存储及I/O的单位。默认为8kb。值必须为2的1到32次方(kb)。不同block size,不可使用pg_upgrade升级。

–with-wal-blocksize=BLOCKSIZE

以kb为单位,设置WAL block size。此为WAL日志中存储及I/O的单位。默认为8kb。值必须为2的1到64次方(kb)。不同wal block size,不可使用pg_upgrade升级。

16.4.1.6.开发者选项

本节介绍开发及调试PostgreSQL所使用的选项。除了–enable-debug外,其他选项不建议在生产环境使用。对于支持DTrace的操作系统,生产环境也可以启用–enable-dtrace选项。

 

若构建代码开发服务端,则建议至少启用选项–enable-debug和–enable-cassert。

–enable-debug

以调试模式编译程序及库。即可以在调试模式下运行程序以对问题进行分析。如果使用了GCC编译器,建议启用该选项。

–enable-cassert

在服务端启用断言检查。不建议在生产环境使用该选项。

–enable-tap-tests

启用使用Perl TAP工具进行测试。需要安装Perl及其模块IPC::Run。更多信息,请参见第32.4章节。

–enable-depend

启用自动依赖跟踪。仅支持GCC。

–enable-coverage

如果使用GCC,则所有程序和库都将使用代码覆盖率测试工具进行编译。更多信息,请参见第32.5章节。仅支持GCC。

–enable-profiling

如果使用GCC,则会编译所有程序和库,以便对其进行概要分析。仅支持GCC。

–enable-dtrace

支持动态跟踪工具DTrace。更多信息,请参见第27.5章节。

文章知识点与官方知识档案匹配,可进一步学习相关知识PostgreSQL技能树首页概览4552 人正在系统学习中

来源:丹心明月

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月6日
下一篇 2021年1月6日

相关推荐