• postgresql9.5编译安装体验


    实验环境:

    • centos7.6
    • pgsql9.5 源码编译安装

    实验目的:

    体验源码编译安装pgsql

    01、download

    https://ftp.postgresql.org/pub/source/v9.5.19/postgresql-9.5.19.tar.bz2

    02、requirement

    yum install -y ncurses-devel readline-devel zlib-devel

    03、add_user postgres && pgdata

    useradd postgres
    mkdir  -p /pgdata/{data,archive}    //创建数据及归档存储目录

    su - postgres   //配置环境变量
    tee <<-'EOF' >>.bash_profile
    export PGHOME=/pgdata
    export PGDATA=/pgdata/data
    export PATH=$PGHOME/bin:$PATH
    export LD_LIBRARY_PATH=$PGHOME/lib
    EOF
    source .bash_profile

    04、compile/setup

    [root@lab-250 ~]# tar jxf postgresql-9.5.19.tar.bz2      //解压
    [root@lab-250 ~]# cd postgresql-9.5.19
    [root@lab-250 postgresql-9.5.19]#

    [root@lab-210 postgresql-9.5.19]# ./configure --help    //查看编译参数
    ./configure   -q --prefix=/pgdata
    make -s -j2
    make -s  install

    //ignore warning
    Without Bison you will not be able to build PostgreSQL from Git
    chown -R postgres:postgres /pgdata

    05、init pgsql_instance

    su - postgres
    initdb -A md5 -U postgres -W  -E 'utf-8' -D $PGDATA

    ###更加颗粒度,设置super user pwd
    initdb --auth=trust --auth-host=md5 --auth-local=trust
    --pgdata=$PGDATA --encoding='UTF-8'
    --username=postgres --pwprompt

    [postgres@lab-210 ~]$ initdb --help    //查看帮助
    initdb initializes a PostgreSQL database cluster.
    Usage:
    initdb [OPTION]... [DATADIR]
    Options:
    -A, --auth=METHOD default authentication method for local connections
    --auth-host=METHOD default authentication method for local TCP/IP connections
    --auth-local=METHOD default authentication method for local-socket connections
    [-D, --pgdata=]DATADIR location for this database cluster
    -E, --encoding=ENCODING set default encoding for new databases
    -U, --username=NAME database superuser name
    -W, --pwprompt prompt for a password for the new superuser
    ....

    pg_ctl -D /pgdata/data -l logfile start    //启动pgsql -D 默认读取$PGDATA
    pg_ctl start
    ps -ef | grep postgres //查看pgsql进程
    pg_ctl status //查看数据状态
    pg_ctl stop -m fast //停止数据库

    [postgres@lab-210 ~]$ pg_ctl --help     //查看参数
    pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server.
    Usage:
    pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"]
    pg_ctl start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]
    pg_ctl stop [-W] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
    pg_ctl restart [-w] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]
    [-o "OPTIONS"]
    pg_ctl reload [-D DATADIR] [-s]
    pg_ctl status [-D DATADIR]
    pg_ctl promote [-D DATADIR] [-s]
    pg_ctl kill SIGNALNAME PID

    Common options:
    -D, --pgdata=DATADIR location of the database storage area
    -s, --silent only print errors, no informational messages
    -t, --timeout=SECS seconds to wait when using -w option
    -V, --version output version information, then exit
    -w wait until operation completes
    -W do not wait until operation completes
    -?, --help show this help, then exit
    (The default is to wait for shutdown, but not for start or restart.)

    If the -D option is omitted, the environment variable PGDATA is used.

    Options for start or restart:
    -c, --core-files allow postgres to produce core files
    -l, --log=FILENAME write (or append) server log to FILENAME
    -o OPTIONS command line options to pass to postgres
    (PostgreSQL server executable) or initdb
    -p PATH-TO-POSTGRES normally not necessary

    Options for stop or restart:
    -m, --mode=MODE MODE can be "smart", "fast", or "immediate"

    Shutdown modes are:
    smart quit after all clients have disconnected
    fast quit directly, with proper shutdown
    immediate quit without complete shutdown; will lead to recovery on restart

    06、express pgsql

    createdb test
    psql test
    test=#
    help

    07、开启归档及日志记录

    ###追加到配置文件中

    tee <<-'EOF' >> postgresql.auto.conf
    listen_addresses = '*'
    port = 5432
    wal_level = hot_standby
    archive_mode = on
    archive_command = 'cp %p /pgdata/archive/%f'
    #max_wal_senders = 10
    logging_collector = on
    EOF

     08、设置为service管理postgres

    ###脚本在源码编译的位置存放

     copy到init.d/及给予权限

     修改prefix/pgdata

     启动验证

  • 相关阅读:
    elasticsearch安装ik分词器
    原来你是这样的JAVA[03]-继承、多态、抽象类
    JAVA入门[23]-SpringBoot配置Swagger2
    原来你是这样的JAVA[01]-基础一瞥
    springboot + @scheduled 多任务并发
    chrome解决http自动跳转https问题
    jquery.uploadify+spring mvc实现上传图片
    JAVA POI导出excel
    使用ztree展示树形菜单结构
    shiro入门示例
  • 原文地址:https://www.cnblogs.com/xiaochina/p/11756154.html
Copyright © 2020-2023  润新知