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

PG笔记(一)postgresql 单实例源码安装配置

运维笔记本 2019-12-12
666

postgresql 单实例源码安装配置

1.获取源码并解压

地址

  • 解压
    tar -xzvf postgresql-11.6.tar.gz
    复制

    2. 安装依赖包

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

      3.配置

        cd postgresql-11.6
        ./configure \
        --prefix=/usr/local/pgsql-11.6 \
        --with-segsize=16 \
        --with-wal-segsize=512 \
        --with-blocksize=32 \
        --with-wal-blocksize=64 \
        --with-libxslt \
        --enable-thread-safety \
        --with-pgport=5432 \
        --with-libedit-preferred \
        --with-perl \
        --with-openssl \
        --with-libxml \
        --with-libxslt \
        --enable-thread-safety \
        --enable-nls=en_US.UTF-8
        复制

        --with-wal-segsize=512
         postgresql 11开始,此参数废弃

        segsize:段尺寸,操作系统对文件的大小限制,因此一个表的文件最大不能超过文件系统规定的大小。为解决这个问题,可以将大表的文件拆分为小文件,每个文件的大小即为段设置的大小,单位为G

        blocksize:块大小,数据库IO的最小单位

        wal-segsize:日志段大小,即日志的大小

        wal-blocksize:日志块大小,日志的最小IO单位

        具体参考:

        英文文档

        中文文档

        4.编译并安装

          make
          复制

          一定要记得用GNU make。依你的硬件而异,编译过程可能需要 5 分钟到半小时。显示的最后一行应该是:

          All of PostgreSQL successfully made. Ready to install.

            make install
            复制

            出现 PostgreSQL installation complete.

            5.创建postgresql用户,数据目录

              useradd postgres
              mkdir -p pgdata/data
              chown postgres.postgres -R /pgdata/
              复制

              6.创建连接文件,方便后期的升级

                ln -sf /usr/local/pgsql-11.6/ /usr/local/pgsql
                复制

                设置环境变量

                  su - postgres
                  vi .bash_profile
                  ###############################################
                  export PGDATA=/pgdata/data
                  export PGHOME=/usr/local/pgsql/
                  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib
                  export PATH=$PATH:$PGHOME/bin/
                  ###############################################
                  复制

                  其他的程式在运行的过程中,可能会用到postgresql的库文件,但因pg并未默认安装,其库文件未在/lib或/usr/lib下,因此我们将其加入环境变量,方便其他程式查找

                  7.安装扩展

                    su - root
                    export PATH=$PATH:/usr/local/pgsql/bin/
                    cd /postgresql-11.6/contrib
                    more README
                    make all
                    make install
                    复制

                    8.初始化数据库

                      su - postgres
                      initdb
                      复制

                      9.开启数据库

                        pg_ctl -D /pgdata/data -l logfile start
                        复制

                        10.卸载:

                        要撤销安装可以使用命令make uninstall
                        。不过这样不会删除任何创建出来的目录。


                        文章转载自运维笔记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论