PostgreSQL入门系列:在Linux 8环境下源码安装PG 14.5


环境
此处是从头学PG,为了适应两年后趋势,所以我选择的都是最新的版本

Redhat 8.5
PostgreSQL 14.5 源码

下载
1、打开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download。



2、可以根据需要点击自己所需要的的版本,此处为了更好的学习PG,不落后其他大咖,我选择下载最新版本的源码



准备
1、上传并解压
        pgsql-@[postgres]:/soft> tar -xf postgresql-14.5.tar.gz
        pgsql-@[postgres]:/soft> ls -lrt
        total 28316
        -rwxrwxr-x. 1 postgres postgres 28988974 Sep 10 19:34 postgresql-14.5.tar.gz
        drwxrwxr-x. 6 postgres postgres     4096 Sep 12 06:00 postgresql-14.5

2、安装 yum 包
        dnf -y install libicu-devel zlib-devel readline readline-devel perl-ExtUtils-Embed perl-ExtUtils-MakeMaker pam-devel openssl-devel openldap-devel libxml2-devel libxslt-devel systemd-devel tcl-devel gcc net-tools python python-devel
        rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' libicu-devel zlib-devel readline readline-devel perl-ExtUtils-Embed perl-ExtUtils-MakeMaker pam-devel openssl-devel openldap-devel libxml2-devel libxslt-devel systemd-devel tcl-devel gcc net-tools python39 python39-devel
        libicu-devel-60.3-2.el8_1 (x86_64)
        zlib-devel-1.2.11-17.el8 (x86_64)
        readline-7.0-10.el8 (x86_64)
        readline-devel-7.0-10.el8 (x86_64)
        perl-ExtUtils-Embed-1.34-420.el8 (noarch)
        perl-ExtUtils-MakeMaker-7.34-1.el8 (noarch)
        pam-devel-1.3.1-15.el8 (x86_64)
        openssl-devel-1.1.1k-4.el8 (x86_64)
        openldap-devel-2.4.46-18.el8 (x86_64)
        libxml2-devel-2.9.7-9.el8_4.2 (x86_64)
        libxslt-devel-1.1.32-6.el8 (x86_64)
        systemd-devel-239-51.el8 (x86_64)
        tcl-devel-8.6.8-2.el8 (x86_64)
        gcc-8.5.0-3.el8 (x86_64)
        net-tools-2.0-0.52.20160912git.el8 (x86_64)
        python39-3.9.6-2.module+el8.5.0+12204+54860423 (x86_64)
        python39-devel-3.9.6-2.module+el8.5.0+12204+54860423 (x86_64)


源码安装
1、创建用户并配置密码 
groupadd -g 1000 postgres
useradd -u 1000 -g postgres postgres

2、 配置 postgres 用户
        vim .bash_profile

        export PGHOME=/opt/pgsql
        export PATH=$PATH:$PGHOME/bin
        export PGDATA=/data/pg_data
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/exec/lib
        export MANPATH=$PGHOME/share/man
        export LANG=en_US
        export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
        export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

        PS1='\h-@[\u]:$PWD>'

        [postgres@node1 ~]$ source .bash_profile

3、资源限制
        vim /etc/security/limits.conf
        postgres soft nofile 4096
        postgres hard nofile 65536
        postgres soft nproc 2048
        postgres hard nporc 16384
        postgres soft stack 10240
        postgres hard stack 65536

nofile 最大能打开的文件描述符
nproc 最大的进程数
stack 最大栈空间大小(单位为kb)
   
4、configure

        export PREFIX=/opt/pgsql
        export PGPORT=5432
        
        ./configure \
        --prefix=${PREFIX} \
        --exec-prefix=${PREFIX} \
        --bindir=${PREFIX}/bin  \
        --sysconfdir=${PREFIX}/etc \
        --libdir=${PREFIX}/lib \
        --includedir=${PREFIX}/include  \
        --datarootdir=${PREFIX}/share \
        --datadir=${PREFIX}/share \
        --localedir=${PREFIX}/share \
        --mandir=${PREFIX}/share/man  \
        --docdir=${PREFIX}/share/doc \
        --htmldir=${PREFIX}/share/html \
        --enable-nls="zh_CN en_US" \
        --with-perl \
        --with-python \
        --with-tcl \
        --with-icu \
        --with-openssl  \
        --with-ldap  \
        --with-pam  \
        --with-systemd  \
        --with-libxml  \
        --with-libxslt  \
        --with-readline \
        --with-zlib  \
        --with-pgport=${PGPORT}  \
        --with-segsize=1 \
        --with-blocksize=8  \
        --with-wal-blocksize=8

—prefix:准备安装路径
—exec-prefix:定义安装结构路径
—bindir:定义PostgreSQL 相关服务命令
—sysconfdir:定义系统配置目录
—libdir:定义相关库和动态库目录
—includedir:定义支持C 和 C++ 支持的头文件
—datarootdir:定义可供数据库只读的根目录
—datadir:定义可以数据库制度的目录
—localedir:定义域目录
—mandir:定义 man 帮助手册目录
—docdir:定义 doc 格式帮助文档
—htmldir:定义html 格式帮助文档
—enable-nls:定义主机支持的语言环境
—with-pgport:定义数据库服务的监听端口
—with-perl:启用支持 pl/perl 的服务器编程语言
—with-python:启用支持 pl/python 的服务器编程语言,最低要求2.7
—with-tcl:启用支持 pl/tcl 的服务器编程语言
—with-icu:启用支持 icu 的动态库
—with-openssl:启用支持 ssl(安全套接层) 连接
—with-pam:启用支持PAM认证模块
—with-ldap:启用支持轻量级访问目录数据库
—with-systemd:启用 systemd 服务器
—with-readline:启用支持命令行记录功能
—with-libxml:启用 SQL 支持的XML 功能
—with-libxslt:启用 SQL 支持的 XML2 的依赖
—with-segsize:配置段大小,默认数据文件段大小为 1G
—with-blocksize:配置数据块的I/O大小
—with-wal-blocksize:配置 wal 块的I/O大小

5、make && make install
make
make install


6、 安装扩展

        cd /soft/postgresql-14.5/contrib/
        make
        make install



点击此处阅读原文

免责声明:

1、本站资源由自动抓取工具收集整理于网络。

2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。

3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。

4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。

5、如果您喜欢本资源,请您支持作者,购买正版内容。

6、资源失效,请下方留言,欢迎分享资源链接

文章评论

0条评论