postgresql 流复制
<p>1.环境规划 Primary和Standby节点最好有相同的环境。</p>
<p>2.安装PostgreSQL</p>
<p>3.Primary节点 获取安装postgresql 官方yum 源 yum install wget -y wget <a href="http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm">http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm</a> 安装postgresql官方yum 源 rpm -ivh pgdg-redhat95-9.5-2.noarch.rpm 安装PostgreSQL数据库 yum install postgresql95-server postgresql95-contrib</p>
<p>4.给启动脚本改个名字,太长了</p>
<p>5.mv /etc/init.d/postgresql-9.5 /etc/init.d/pgsql</p>
<p>6.修改数据库初始化目录</p>
<p>7./ect/init.d/ pgsql 文件中 PGDATA=/data/pgsql/data
PGLOG=/data/pgsql/pgstartup.log</p>
<p>8.建立数据库初始化目录及归档目录</p>
<p>9.mkdir /data/pgsql /data/pgsql/archive</p>
<p>10.chown postgres:postgres /data/pgsql /data/pgsql/archive</p>
<p>11.初始化数据库</p>
<p>12.service pgsql initdb</p>
<p>13.配置pg_hba.conf 在# IPv4 local connections下面添加一行,设置PostgreSQL的访问及其权限 host all all 0.0.0.0/0 md5 在# replication privilege.下面添加一行,设置replication用户及权限内网访问 host replication postgres 10.168.136.152/24 trust 配置 postgresql.conf</p>
<p>14.修改以下内容</p>
<p>15.listen_addresses = '*' port = 5432 wal_level = hot_standby archive_mode = on archive_command = ' cp %p /home/archive/%f ' archive_timeout = 86400 max_wal_senders = 1 wal_keep_segments = 1000</p>
<p>16.'/home/archive'是Replication的archive的存储路径。PostgreSQL会将Replication #的WAL保存在'/home/archive'路径下。</p>
<p>17.Standby节点 获取安装postgresql 官方yum 源 yum install wget -y wget <a href="http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm">http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm</a> 安装postgresql官方yum 源 rpm -ivh pgdg-redhat95-9.5-2.noarch.rpm 安装PostgreSQL数据库 yum install postgresql95-server postgresql95-contrib</p>
<p>18.给启动脚本改个名字,太长了</p>
<p>19.mv /etc/init.d/postgresql-9.5 /etc/init.d/pgsql</p>
<p>20.修改数据库初始化目录</p>
<p>21./ect/init.d/ pgsql 文件中 PGDATA=/data/pgsql/data PGLOG=/data/pgsql/pgstartup.log</p>
<p>22.建立数据库初始化目录及归档目录</p>
<p>23.mkdir /data/pgsql /data/pgsql/archive</p>
<p>24.chown postgres:postgres /data/pgsql /data/pgsql/archive</p>
<p>25.初始化数据库</p>
<p>26.service pgsql initdb</p>
<p>27.配置 postgresql.conf</p>
<p>28.listen_addresses = '*' port = 5432 hot_standby = on</p>
<p>29.配置pg_hba.conf</p>
<p>30.为了测试,添加以下这一句,客户端才好登录数据库,不一定要加</p>
<p>31.在# IPv4 local connections下面添加一行,设置PostgreSQL的访问及其权限 host all all 61.165.131.182/24 md5</p>
<p>32.在数据库data目录下新建recovery.conf</p>
<p>33.restore_command = ' cp /home/archive/%f %p ' standby_mode = 'on' primary_conninfo = 'host= 10.162.35.90 port=5432 user=postgres password=Nmy662456' trigger_file = '/tmp/trigger' 重启服务器 主机备机</p>
<p>34.init 6</p>
<p>35.主数据库</p>
<p>36.启动数据库</p>
<p>37.service pgsql start</p>
<p>38.切换用户</p>
<p>39.su postgres</p>
<p>40.登录数据库</p>
<p>41.$ psql -dpostgres</p>
<p>42.执行以下语句备份</p>
<p>43.select pg_start_backup('base');</p>
<p>44.用 putty新建一个连接,登录主数据库,等rsync执行完就可以退出</p>
<p>45.cd / rsync -av --exclude postmaster.pid --exclude postgresql.conf --exclude pg_ident.conf --exclude pg_hba.conf data/pgsql/data/* 120.27.121.254:/data/pgsql/data/ </p>
<p>46.停止备份
select pg_stop_backup();</p>
<p>48.备数据库启动</p>
<p>49.service pgsql start</p>
<p>50.chkconfig pgsql on</p>
<p>51.登陆主数据库修改访问密码</p>
<p>52.su postgres</p>
<p>53.$psql</p>
<p>54.ALTER USER postgres PASSWORD '9Internetgly';</p>
<p>55.使用postgresqladmin 在主数据库登陆新建表看备数据库是否成功。</p>