Is it possible to provide write permissions for slave/standby servers in postgresql in a cluster?

时间:2015-06-26 10:22:24

标签: postgresql cluster-computing replication master-slave

I have two servers on the same network which I have live streaming with a master-slave structure. I'm not using any tools like Slony or Bucardo. It's a simple replication process that can be accomplished by changing some parameters in the .conf files. Curently it can accept read/write on the master and read-only on the slave. However I want a master-master structure, wherein both the servers can accept read as well as write requests. Is this possible in PostgreSQL 9.3 or above?

2 个答案:

答案 0 :(得分:1)

  

是否可以在postgresql中为从/备用服务器提供写权限

没有

  

这是一个简单的复制过程,可以通过更改.conf文件中的一些参数来实现

所以,PostgreSQL的内置流复制。

  

但是我想要一个主 - 主结构,其中两个服务器都可以接受读取和写入请求。这在PostgreSQL 9.3或更高版本中是否可行?

PostgreSQL 9.4的扩展是添加多主机,称为BDR。请参阅http://bdr-project.org/docs/stable/http://2ndquadrant.com/BDR。它并没有为新数据库用户的广泛采用做好准备 - 如果你现在要使用它,你应该对PostgreSQL和复制充满信心。 (注意:我是BDR的开发者之一)。 BDR是异步多主复制,它不是透明的群集,您可以将现有应用指向并期望它无需更改即可运行。有关详细信息,请参阅手册。

还有Postgres-XC及其分支Postgres-XL,它为PostgreSQL添加了紧密耦合的多主集群和并行调度。应用程序可能需要更少的更改才能在XC上运行,但它需要节点之间快速,可靠,低延迟的网络连接。

还有其他选项,如Slony-I的多主变体,Bucardo项目等。

所有这些都有一些共同的细节:确实,非常重要的是了解你正在做什么以及确切的限制,警告和特殊情况你选择的主要实现是。如果你只是继续部署一个指向多个主人的应用程序而不仔细考虑和测试你将会有一些不眠之夜和愤怒的用户。

在您进入灾难恢复计划,故障转移,备份管理等之前的那些

如果你知道绝对需要多主人,那么就不要使用它。

答案 1 :(得分:0)

据我所知,多主机不具备PostgreSQL的香草味。你检查过Postgres-XC或Postgres Plus吗?

[http://postgresxc.wikia.com/wiki/Postgres-XC_Wiki][1]

[http://www.enterprisedb.com/products-services-training/products/postgres-plus-advanced-server][2]