暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

【从Oracle到PG】PostgreSQL-11.5源码编译安装

首先,来一张pg官网截图,名曰世界上功能最强大的开源关系型数据库。

PostgreSQL以其强大的功能、活跃的社区、开放的开源协议,以及稳定可靠等优点得以在通信、政府机构乃至金融等行业广泛应用。功能上和Oracle具有极高的兼容性,而且是目前唯一能做到数据零丢失的开源数据库产品,适用OLTP在线交易类和OLAP报表分析类系统。

PS:本文目的在于对pg进行兴趣学习。


一、基础环境介绍:

    宿主机:Windows2010 8G
    虚拟机:VMware-Linux centos7.6
    pg版本:postgresql-v11.5


    二、postgresql的版本介绍:

    1.DB版本介绍

    当前共享的pg大版本有:v12、11.5、11.4、10.9、9.6.15、9.5.18、9.4.23、9.3,其中9.3版本已经停止更新支持。本文使用11.5版本。

    从10版本开始,版本号的第一位代表大版本号,第二位代表小版本号。

    2.如何获取DB安装介质

      2.1.发行版:Linux Redhat平台:https://www.postgresql.org/download/linux/redhat/
      2.2.源码版:https://www.postgresql.org/ftp/source/


      三、安装前配置:

      1.操作系统环境配置

      是否关闭防火墙和selinux,根据各自系统资源配置的实际情况,修改sysctl.conf和limits.conf,进行相应的内核参数和资源限制调整。

      2. 环境变量和pg属主用户

      2.1 创建postgres用户

        # useradd postgres

        2.2 编辑pg用户环境变量

        vi .bash_profile添加内容如下:

          export PS1="[$USER@`/bin/hostname -s`]$"
          export PGUSER=postgres
          export PGDATABASE=postgres
          export PGPORT=5432
          export PGDATA=/aken/data/pgsql/1105/data
          export PGHOME=/aken/dbapp/pgsql/1105
          export PGLOCALEDIR=$PGHOME/share/locale
          export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
          export PATH=$PGHOME/bin:$PATH:.
          export MANPATH=$PGHOME/share/man:$MANPATH
          export LANG=en_US.utf8
          export DATA=`date +"%Y%m%d%H%M"`


          四、编译源码安装:

          1. 源码安装一般由3个步骤组成:root用户执行。

          1).配置:configure

          2).编译:make

          3).安装:make install


          2.获取源码包并解压:

            [postgres@akendb01]$cd aken/dbapp/dbsoft
            [postgres@akendb01]$ls
            postgresql-11.5.tar.bz2
            [postgres@akendb01]$bunzip2 postgresql-11.5.tar.bz2
            [postgres@akendb01]$


            3.解决依赖关系:root用户执行

              yum install gcc gcc-c++ zlib-devel readline-devel
              yum install perl-ExtUtils-Embed pam-devel libxml2-devel libxslt-devel
              yum install openldap-devel python-devel openssl-devel cmake tcl tcl-devel


              4. configure配置及选项介绍

              1)选项介绍

                --prefix:指定安装路径
                --with-openssl:对openssl进行扩展支持
                --with-python:对Python进行扩展支持
                --with-perl:对Perl进行扩展支持
                --with-libxml:对xml进行扩展支持

                更多选项可以通过--help查看

                2)进行配置:root用户执行,注意要将所有选项放到一行里面。

                  ./configure --prefix=/aken/dbapp/pgsql/1105 --with-pgport=5432 --with-wal-blocksize=16 --with-blocksize=8 --with-openssl --with-perl --with-python --with-libxml --with-pam  --with-tcl --with-ldap --with-libxslt --enable-thread-safety  --enable-dtrace --enable-debug


                  5. 进行gmake编译:root用户执行。

                    gmake world #包括第三方插件全部编译
                    gmake check-world #这个使用普通用户执行,可选,耗时较长


                    6. 进行安装:root用户执行

                      gmake install-world


                      注意:

                      1)如果遇到依赖的动态库缺失,将相关的库安装重新编译安装即可。

                      2)使用gmake world安装,包含了文档、所有的contrib。


                      7. DB集簇初始化

                      1)pg数据库为多域架构,即一个DB server可以有多个database。

                      2)一台物理机可有多个DB server,通过port和data路径进行区分。

                      3)编译安装的数据库,需要initdb手工初始化,相当于Oracle中的dbca操作。

                      4)执行初始化

                        $PGHOME/bin/initdb -D $PGDATA -E UTF8 --locale=C -U postgres -W
                        #可以使用initdb --help查看选项详细信息


                        8 启动数据库前修改配置文件

                        1)pg_hba.conf用于控制访问数据库的来源。

                        2)postgresql.conf是数据库的主配置文件的重要参数,另外pg的alert日志默认不开启,需求手工修改对应参数为on以启用。


                        9.查看进程并验证登录


                        10.查看默认参数


                        欢迎投稿



                                中国开源软件推进联盟PostgreSQL分会,欢迎大家积极投稿,向PGer分享自己的实践经验、心得体会,共建PG中国生态。

                        投稿邮箱:

                        press@postgresqlchina.com

                        最后修改时间:2019-12-05 17:07:59
                        文章转载自开源软件联盟PostgreSQL分会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论