• 源码编译安装PostgresSQL(11.5)


    原文链接:https://www.modb.pro/db/22220?cyn (阅读原文,支持作者)

    摘要:源码编译安装pg11.5(Centos7.4+PG11.5)。

    一、环境准备

    1、安装依赖包

    yum -y install gcc*
    yum -y install python python-devel
    yum -y install perl-ExtUtils-Embed
    yum -y install zlib-devel
    yum -y install readline*

    2、创建用户组、目录

    groupadd -g 1001 postgres #新增用户组
    useradd -g 1001 -u 1001 postgres #新增用户
    [root@pg11 ~]# id postgres
    uid=1001(postgres) gid=1001(postgres) groups=1001(postgres)
    passwd postgres #为用户设置密码

    3、创建目录

    mkdir -p /usr/local/pgsql11.5
    chown -R postgres:postgres /usr/local/pgsql11.5/

    mkdir -p /home/osdata/pgdata
    chown -R postgres:postgres /home/osdata/
    chmod 0700 /home/osdata/pgdata

    4、修改环境变量(postgres用户)

    export PATH=/usr/local/pgsql11.5/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/pgsql11.5/lib
    export PGDATA=/home/osdata/pgdata

    5、上传软件包,并且解压缩(root)

    [root@pg11 pgsql11.5]# ll
    total 19312
    -rw-r–r--. 1 root root 19773087 Oct 30 20:05 postgresql-11.5.tar.bz2
    [root@pg11 pgsql11.5]#chown -R postgres:postgres /usr/local/pgsql11.5/
    [root@pg11 pgsql11.5]# ll
    total 19312
    -rw-r–r--. 1 postgres postgres 19773087 Oct 30 20:05 postgresql-11.5.tar.bz2

    tar -xvf postgresql-11.5.tar.bz2

    6、生成链接

    ln -sf /usr/local/pgsql11.5 /usr/local/pgsql

    二、安装postgresql

    1、编译

    cd postgresql-11.5/
    ./configure --prefix=/usr/local/pgsql11.5 --with-perl --with-python

    2、安装

    一次性把文档及附加模块全部进行编译和安装
    gmake world
    出现“PostgreSQL, contrib, and documentation successfully made. Ready to install.”说明编译成功

    gmake install-world
    出现“PostgreSQL, contrib, and documentation installation complete.”说明安装成功

    查看版本
    [postgres@pg11 postgresql-11.5]$ postgres --version
    postgres (PostgreSQL) 11.5

    3、初始化数据库

    initdb -D /home/osdata/pgdata/ -W

    4、启动数据库

    pg_ctl -D $PGDATA -l logfile start

    5、查看实例进程

    [postgres@pg ~]$ ps -ef|grep postgres
    postgres 56625 1 0 Mar04 ? 00:00:03 /usr/local/pgsql11.5/bin/postgres -D /home/osdata/pgdata
    postgres 56627 56625 0 Mar04 ? 00:00:00 postgres: checkpointer
    postgres 56628 56625 0 Mar04 ? 00:00:01 postgres: background writer
    postgres 56629 56625 0 Mar04 ? 00:00:01 postgres: walwriter
    postgres 56630 56625 0 Mar04 ? 00:00:05 postgres: autovacuum launcher
    postgres 56631 56625 0 Mar04 ? 00:00:10 postgres: stats collector
    postgres 56632 56625 0 Mar04 ? 00:00:00 postgres: logical replication launcher
    root 76758 76699 0 11:01 pts/0 00:00:00 su - postgres
    postgres 76759 76758 0 11:01 pts/0 00:00:00 -bash
    postgres 76797 76759 0 11:01 pts/0 00:00:00 psql
    postgres 76801 56625 0 11:01 ? 00:00:00 postgres: postgres test [local] idle
    root 77192 77145 0 11:21 pts/1 00:00:00 su - postgres
    postgres 77193 77192 0 11:21 pts/1 00:00:00 -bash
    postgres 79582 77193 0 13:45 pts/1 00:00:00 ps -ef
    postgres 79583 77193 0 13:45 pts/1 00:00:00 grep --color=auto postgres

    查看数据库状态
    [postgres@pg11 ~]$ pg_ctl -D /home/osdata/pgdata/ status
    pg_ctl: server is running (PID: 23588)
    /usr/local/pgsql11.5/bin/postgres “-D” “/home/osdata/pgdata”

    6、设置开机自启动

    1、配置脚本服务
    在源码包的contrib目录中有linux、freebsd、macos适用的服务脚本
    [root@pg11 ~]# cd /usr/local/pgsql/postgresql-11.5/contrib/start-scripts
    [root@pg11 start-scripts]# ll
    total 8
    -rw-r–r--. 1 postgres postgres 1467 Aug 6 2019 freebsd
    -rw-r–r--. 1 postgres postgres 3552 Aug 6 2019 linux
    drwxrwxr-x. 2 postgres postgres 84 Aug 6 2019 macos
    把名为linux的脚本拷贝到/etc/init.d目录,并且重命名为postgresql11
    [root@pg11 ~]# cp /usr/local/pgsql/postgresql-11.5/contrib/start-scripts/linux /etc/init.d/postgresql11
    [root@pg11 init.d]# chmod +x postgresql-11
    [root@pg11 init.d]# chkconfig postgresql-11 on
    [root@pg11 init.d]# chkconfig --list |grep postgresql-11
    postgresql-11 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    7、登录数据库

    [postgres@pg ~]$ psql
    psql (11.5)
    Type “help” for help.

    postgres=#

    更多PG相关入门分享、进阶练习:https://www.modb.pro/tag/postgresql?cyn

  • 相关阅读:
    字符串hash+回文树——hdu6599
    数位dp——牛客多校H
    线段树区间离散化——牛客多校E
    最小表示法——牛客多校第七场A
    后缀自动机求多串LCS——spojlcs2
    后缀自动机求LCS——spoj-LCS
    后缀自动机求字典序第k小的串——p3975
    后缀自动机模板——不同子串个数p2408
    同构图+思维构造——牛客多校第六场E
    封装,调用函数,以及参数化
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13311748.html
Copyright © 2020-2023  润新知