设为首页 加入收藏

TOP

Postgresql9PPAS9流复制配置(二)
2015-07-24 10:16:07 来源: 作者: 【 】 浏览:1
Tags:Postgresql9PPAS9 复制 配置
22.11:/opt/ppas_arch/%f"%p"'
[root@ppas2 ~]# chown enterprisedb.enterprisedb /opt/PostgresPlus/
9.0AS/data/recovery.conf[root@ppas2 ~]# /etc/init.d/ppas-9.0 start
13

两台服务器的Stream Replication 已经完成

############################

下面的留着当备注

14
[root@ppas1 ~]# mkdir /var/run/pgpool
15
[root@ppas1 ~]# cp /opt/PostgresPlus/9.0AS/etc/pgpool.conf.samplestream /opt/PostgresPlus/9.0AS/etc/pgpool.conf
[root@ppas1 ~]# vim /opt/PostgresPlus/9.0AS/etc/pgpool.conf
修改:
backend_hostname0 = '192.168.122.11'
backend_port0 = 5444
backend_weight0 = 1
backend_data_directory0 = '/opt/PostgresPlus/9.0AS/data'
backend_hostname1 = '192.168.122.12'
backend_port1 = 5444
backend_weight1 = 1
backend_data_directory1 = '/opt/PostgresPlus/9.0AS/data'
16
[root@ppas1 ~]# edb-psql -U enterprisedb edb -c "select md5('1q2w3e4r');"
md5
---------------------------------
5416d7cd6ef195a0f7622a9c56b55e84
(1 row)
[root@ppas1 ~]# echo "enterprisedb:5416d7cd6ef195a0f7622a9c56b55e84" >> /opt/PostgresPlus/9.0AS/etc/pcp.conf
17
启动PGPool
[root@ppas1 ~]# /opt/PostgresPlus/9.0AS/bin/pgpool -f /opt/PostgresPlus/9.0AS/etc/pgpool.conf -F /opt/PostgresPlus/9.0AS/etc/
pcp.conf
[root@ppas1 ~]# netstat -natulp | grep 9999
tcp 0 0 127.0.0.1:9999 0.0.0.0:* LISTEN 2434/pgpool
[root@ppas1 ~]#

18
[root@ppas1 ~]# edb-psql -p 9999 -U enterprisedb edbedb-psql (9.0.4.10)
Type "help" for help.
edb=# create table a (id int);
CREATE TABLE
edb=# insert into a values (5),(6);
INSERT 0 2
edb=# select * from a;
id
---
5
6
(2 rows)

19
[root@ppas1 ~]# /etc/init.d/ppas-9.0 stopStopping Postgres Plus Advanced Server 9.0:
waiting for server to shut down....... doneserver stopped

20
[root@ppas2 ~]# edb-psql -h 192.168.122.11 -p 9999 -U enterprisedbedb
edb-psql: server closed the connection unexpectedlyThis probably means the server terminated abnormallybefore or while processing the request.
以上连接出错是由于pgpool 正好此时的路由指向到PPAS1,但此时PPAS1的 数据库已经STOP 。
[root@ppas2 ~]# edb-psql -h 192.168.122.11 -p 9999 -U enterprisedbedb
edb-psql (9.0.4.10)
Type "help" for help.
edb=#
重新再连接一次,此时pgpool 会将连接转向PPAS2,同时在pgpool 内部会将PPAS1定为故障状态,直到PPAS1的数据库重新可用。

21
edb=# insert into a values (7);
ERROR: cannot execute INSERT in a read-only transaction
由于PPAS2还在Stream Replication 的Slave 状态,因此不可做写数据操作
edb=# \q
22
[root@ppas2 ~]# touch /opt/PostgresPlus/9.0AS/data/recovery_trigger
[root@ppas2 ~]# edb-psql -h 192.168.122.11 -p 9999 -U enterprisedbedb
edb-psql (9.0.4.10)
Type "help" for help.
edb=# insert into a values (7);
ERROR: cannot execute INSERT in a read-only transaction
此处操作太快了,因此 系统还没有改为Master 状态
edb=# insert into a values (7);
INSERT 0 1
再过1-2 秒进行操作,写入成功
edb=#

-----------------

转载请著明出处:
blog.csdn.net/beiigang
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL高级(6) 下一篇SQL高级(8)数据类型

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)