postgresql 9.4 流复制简单配置

#环境
postgresql:9.4.5 http://get.enterprisedb.com/postgresql/postgresql-9.4.5-3-linux-x64.run

host:ct6606 192.108.56.122 master
     ct6607    192.108.56.123 slave

#安装postgresql
    #在ct6606,ct6607分别执行以下
    [root@ct6606 ~]# ll postgresql-9.4.5-1-linux-x64.run
    -rwxr--r--. 1 root root 37802126 Nov  5  2015 postgresql-9.4.5-1-linux-x64.run

    [root@ct6606 ~]# ./postgresql-9.4.5-1-linux-x64.run
    ----------------------------------------------------------------------------
    Welcome to the PostgreSQL Setup Wizard.
    ----------------------------------------------------------------------------
    Please specify the directory where PostgreSQL will be installed.
    Installation Directory [/opt/PostgreSQL/9.4]:
    ----------------------------------------------------------------------------
    Please select a directory under which to store your data.
    Data Directory [/opt/PostgreSQL/9.4/data]:
    ----------------------------------------------------------------------------
    Please provide a password for the database superuser (postgres). A locked Unix
    user account (postgres) will be created if not present.
    Password :
    Retype password :
    ----------------------------------------------------------------------------
    Please select the port number the server should listen on.
    Port [5432]:
    ----------------------------------------------------------------------------
    Advanced Options
    Select the locale to be used by the new database cluster.
    Locale
    [1] [Default locale]
    ...
    [707] zh_CN
    [708] zh_CN.gb2312
    [709] zh_CN.utf8
    ...
    Please choose an option [1] : 709
    ----------------------------------------------------------------------------
    Setup is now ready to begin installing PostgreSQL on your computer.
    Do you want to continue? [Y/n]: y
    ----------------------------------------------------------------------------
    Please wait while Setup installs PostgreSQL on your computer.
     Installing
     0% ______________ 50% ______________ 100%
     #########################################
    ----------------------------------------------------------------------------
    Setup has finished installing PostgreSQL on your computer.

    [root@ct6606 ~]# id postgres
    uid=500(postgres) gid=500(postgres) groups=500(postgres)

    [root@ct6606 ~]# ps -ef|grep postgre|grep -v grep
    postgres 25195     1  0 09:02 ?        00:00:00 /opt/PostgreSQL/9.4/bin/postgres -D /opt/PostgreSQL/9.4/data
    postgres 25197 25195  0 09:02 ?        00:00:00 postgres: logger process        
    postgres 25199 25195  0 09:02 ?        00:00:00 postgres: checkpointer process  
    postgres 25200 25195  0 09:02 ?        00:00:00 postgres: writer process        
    postgres 25201 25195  0 09:02 ?        00:00:00 postgres: wal writer process    
    postgres 25202 25195  0 09:02 ?        00:00:00 postgres: autovacuum launcher process
    postgres 25203 25195  0 09:02 ?        00:00:00 postgres: stats collector process

    [root@ct6606 ~]# echo "export PATH=\$PATH:/opt/PostgreSQL/9.4/bin" >>/root/.bash_profile
    [root@ct6606 ~]# . /root/.bash_profile
    [root@ct6606 ~]# mv /etc/init.d/postgresql-9.4 /etc/init.d/postgresql


#配置postgresql
    #在ct6606执行以下
    #修改参数
        [root@ct6606 ~]# cd /opt/PostgreSQL/9.4/data/
        [root@ct6606 data]# vi postgresql.conf
        加入:
        wal_level=hot_standby
        max_wal_senders=1
        hot_standby=on
        [root@ct6606 data]# vi pg_hba.conf
        修改:
        host    all             all             127.0.0.1/32            md5为:
        host    all             all             0.0.0.0/0            md5
        加入:
        host    replication     repuser        0.0.0.0/0            md5

        [root@ct6606 data]# service postgresql restart

        #建replication用户,备份,传输
        [root@ct6606 data]# psql -U postgres
        postgres=# create user repuser replication login connection limit 5 encrypted password 'system';
        postgres=# select pg_start_backup('replication');
        postgres=# \q

        [root@ct6606 data]# cd /opt/PostgreSQL/9.4/
        [root@ct6606 9.4]# tar -czvf data.tar.gz data --exclude=data/pg_xlog/*

        [root@ct6606 data]# psql -U postgres
        postgres=# select pg_stop_backup(), current_timestamp;
        postgres=# select pg_switch_xlog();
        postgres=# \q


        [root@ct6606 9.4]# scp data.tar.gz 192.108.56.123:/opt/PostgreSQL/9.4/


    #在ct6607执行以下
    #解压,修改参数,启动
        [root@ct6607 ~]# service postgresql stop
        [root@ct6607 ~]# cd /opt/PostgreSQL/9.4/
        [root@ct6607 9.4]# rm -rf data
        [root@ct6607 9.4]# tar -xzvf data.tar.gz
        [root@ct6607 9.4]# cd data
        [root@ct6607 data]# cp ../share/postgresql/recovery.conf.sample recovery.conf
        [root@ct6607 data]# vi recovery.conf
        加入:
        standby_mode=on
        trigger_file='/opt/PostgreSQL/9.4/data/pg.trigger'
        primary_conninfo='host=192.108.56.122 port=5432 user=repuser password=system keepalives_idle=60'

        [root@ct6607 data]# vi .pgpass
        加入:
        192.108.56.122:5432:postgres:repuser:system

        [root@ct6607 data]# service postgresql start

#测试
    在master端会多出postgres: wal sender process 进程
    在slave端会多出postgres: wal receiver process 进程

    [root@ct6606 9.4]# psql -U postgres -h 192.108.56.122
    postgres=# create table tb01 as select 1 a;
    SELECT 1
    postgres-# \q

    [root@ct6606 9.4]# psql -U postgres -h 192.108.56.123
    postgres=# select * from tb01;
     a
    ---
     1
    (1 row)


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28539951/viewspace-1874775/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28539951/viewspace-1874775/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值