postgreSQL在 centos 6.5 编译安装整理

1.准备工作

psotgresql 安装过程大致分为 configure 配置参数部分, make 编译部分, make install 编译安装部分。

1.1 在 centos 中创建文件用于存放下载好的 gz 格式压缩文件

1.2 在解压缩的过程中应该注意是否为 root 用户

如下为解压完成后的文件:

查看文件内部信息

postgreSQL在 centos 6.5 编译安装整理_第1张图片

1.3 剖析 configure 部分参数

postgreSQL在 centos 6.5 编译安装整理_第2张图片

  • -h 查看帮助列表

  • -V 查看当前安装数据库版本信息

  • -q 静默安装

 postgreSQL在 centos 6.5 编译安装整理_第3张图片

  • 安装路径相关选项:

  • 以下/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在 centos 6.5 编译安装整理_第4张图片

关闭 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在 centos 6.5 编译安装整理_第5张图片

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升级。

postgreSQL在 centos 6.5 编译安装整理_第6张图片

1.4 尝试配置编译 postgreSQL

在目标文件夹下使用 ./configure --prefix=/target 进行配置文件操作

postgreSQL在 centos 6.5 编译安装整理_第7张图片

 

此时发现 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;

你可能感兴趣的:(centos,linux,postgresql)