psotgresql 安装过程大致分为 configure 配置参数部分, make 编译部分, make install 编译安装部分。
1.1 在 centos 中创建文件用于存放下载好的 gz 格式压缩文件 1.2 在解压缩的过程中应该注意是否为 root 用户如下为解压完成后的文件:
查看文件内部信息
1.3 剖析 configure 部分参数-
-h 查看帮助列表
-
-V 查看当前安装数据库版本信息
-
-q 静默安装
-
安装路径相关选项:
-
以下/usr/local/pgsql 路径均使用 PATH
-
--prefix=PREFIX 将文件放在指定的文件目录下 (如果没有指定,则默认安装在 PATH)
-
--exec-prefix=EPREFIX 将构建依赖的文件放置到与 PREFIX 不同的路径下
-
--bindir=DIRECTORY 用于存放可执行文件路径,默认为:PATH/bin
-
--sysconfdir=DIRECTORY 配置文件路径,默认为:PATH/etc
-
--libdir=DIRECTORY 设置库以及动态加载模块安装路径,默认为:PATH/lib
-
--includedir=DIRECTORY C和C++ 头文件所在路径,默认为:PATH/include
-
--datarootdir=DIRECTORY 只读数据的根目录,默认存放在:PATH/share
-
--localedir=DIRECTORY 本地数据,特别是信息翻译库文件的存放路径,默认为:datarootdir/locale
-
--mandir=DIRECTORY Postgresql 主页面所在路径。默认为:datarootdir/man
-
--docdir=DIRECTORY 文档文件的路径。默认为:datarootdir/doc/postgresql
-
--htmldir=DIRECTORY pg的HTML格式文档的安装路径。默认为:datarootdir
关闭 postgreSQL 特性选项:
-
--without-readline 禁用readline。使得无法在命令行psql编辑和使用历史命令
-
--with-libdit-preferred 使用BSD-licensed libedit库而非GPL-licensed ReadLine。默认使用ReadLine
-
--without-zlib 不适用zlib库
-
--disable-spinlocks 即使PostgreSQL不支持平台的CPU自旋锁,也可以构建成功。使用此选项,会导致很严重的数据库性能问题
-
--disable-atomics 禁用CPU原子 *** 作。可能导致数据库性能问题
-
--disable-thread-safety 禁用客户端库的线程安全。 这样可以防止libpq和ECPG程序中的并发线程安全地控制其专用连接句柄。 仅在线程支持不足的平台上使用此功能
postgresql特性相关选项:
-
--enbale-nls[=LANGUAGE] 启用本地语言支持,若不指定,测绘安装所有可用语言
-
--with-prel 创建PL/Perl服务端语言
-
with-python 创建PL/python服务端语言
-
with-ctl 创建PL/Tcl服务端语言
-
--with-tclconfig=DIRECTORY tcl配置文件tclConfig.sh所在路径
-
--with-icu 支持icu库
-
--with-llvm 构建基于JIT的LLVM支持。需要安装LLVM库,最低版本为3.9
-
--with-openssl 支持SSL(加密)连接。需要安装OpenSSL
-
--with-gssapi 支持GSSAPI加密
-
--with-ldap --with-pam --with-bsd-auth 认证模块
-
--with-sysytemd 支持systemd服务提醒。需要安装libsystemd及其相关文件
-
--with-bonjour 支持Bonjour自动服务发现
-
--with-libxml 支持SQL/XML。需要安装Libxml2 2.6.23及更新版本
-
--with-libxslt 使用libxslt构建,启用xml2模块从而可以从xml到xsl的转换。必须同时指定--withlibxml
其他选项:
-
在构建时修改默认端口号--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升级。
在目标文件夹下使用 ./configure --prefix=/target 进行配置文件 *** 作
此时发现 gcc 并未安装,用 yum install -y gcc 安装 gcc。
发现错误如下图,这是因为在 centos6.5 yum镜像已经不在支持 我们需要更新yum镜像资源
首先备份文件 /mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo .bak
修改文件并保存 /vi /etc/yum.repos.d/CentOS-Base.repo
[base] name=CentOS-6.10 - Base - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-6.10 - Updates - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-6.10 - Extras - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-6.10 - Plus - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-6.10 - Contrib - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
继续下载 提示缺什么 直接 yum 安装就可以了
如果安装后发现仍报错,yum search --缺的东西--
执行命令 yum install -y gcc*或者 *gcc。这一步是安装带后缀前缀的
进行编译: make -j 4;
编译过程如果报错,同样缺什么安装什么 重新 ./configure编译完成后
继续 make
make install;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)