重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。
创新互联公司-专业网站定制、快速模板网站建设、高性价比遵义网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式遵义网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖遵义地区。费用合理售后完善,十余年实体公司更值得信赖。
二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。
三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。
四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。
五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。
多种方案,含zookeeper方案 : PostgreSQL 流行 HA 方案
有实例 有讲解! postgresql 高可用集群搭建 : PostgreSQL_HA_with_primary_standby_2vip
pgpool+Keepalived 实现postgresql 高可用集群: PostgreSQL+pgpooll+Keepalived双机HA方案
利用pgpool 实现postgresql 高可用集群 : POSTGRESQL主备部署模式
看起来不错 : 双机热备技术:使用pgpool搭建高可用PostgreSQL HA的步骤
PostgreSQL 流复制 + Pgpool-II 实现高可用 HA
推荐使用pgpool原因: PostgreSQL的集群技术比较
很好的要看corosync+pacemaker: 基于Pacemaker的PostgreSQL一主多从读负载均衡集群搭
可能复杂 : Pacemaker+corosync搭建PostgreSQL共享存储HA
corosync+pacemaker 有实例 : postgresql双机热备、高可用方案(采用pacemaker+corosync实现)
需求讲得好 : PostgresSQL HA高可用架构实战
PostgresSQL HA高可用架构实战
流复制HA(pgpool) :较简单、易实现
共享存储HA(corosync+pacemaker):功能完备、学习成本高、复杂
你说的类似oracle中的RAC吗?目前postgre没有。
现在postgre只有类似oracle中的DG,并且主库是可读写,从库是只读(低版本的postgre不能读)。
当主库发生错误,需要手动切换
安装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相 应的配置。配置远程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf, 其中pg_hba.conf是用来配置对数据库的访问权限,postgresql.conf文件用来配置PostgreSQL数据库服务器的相应的参数。 下面介绍配置的步骤:
1.修改pg_hba.conf文件,配置用户的访问权限:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 trust
其中红色标识的内容为新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验 证。在我们的环境中,我们需要在主机192.168.1.5上使用postgres用户访问192.168.1.9上的PostgreSQL数据库。
2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。
定位到#listen_addresses='localhost'。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求,通过将改行内容修改为listen_addresses='*'来允许数据库服务器监听来自任何主机的连接请求:
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
修改之后,保存并退出,然后重起数据库,就可以在在远程机器上访问PostgreSQL数据库了。
另外,数据库管理小贴士:
matrix数据库使用的是PostgreSQL数据库。你可以安装一个类似phpmyadmin的管理
双机热备,简单来说,指的是采用两台服务器实现的一种高可用方案,其中一台为主(Ative),对外提供业务服务,另一台为备(Standby),处于备用状态。这两台服务器只有其中一台对外提供服务,通常需要虚IP(virtual IP,VIP)来对外提供服务地址。双机热备方案中,需要定时检测主、备服务器是否正常。当检测到主服务器异常时,将虚IP漂移到备机,让备机对外提供服务。实现异常检测和IP漂移技术,通常可以使用keepalived、heartbeat或pacemaker等组件。由于本文中讨论的PostgreSQL还涉及到主-备之间的数据同步问题,本文采用Pacemaker来实现PostgreSQL的双机热备。
1、如果用ROSE之类的双机系统做双机冗余,涉及到的进程监视点调试极其麻烦,不是资深的原厂认证工程师根本就搞不定,对于可靠性上来说倒是绝对满足没有问题,但可维护性来说实在是件要命的事。
2、你可以考虑用VMWARE ESX做双机集群,然后把POSTGRESQL的WIN2K3虚拟机放在双机集群上,做虚拟机进程的动态漂移,这根本就不需要去针对进程监视做那一大堆的调试,当集群里一台服务器DOWN掉的时候,而且还要恰好你的应用虚拟机进程现在就跑在DOWN掉的这台上,那么在1秒内会动态漂到另一台并行的服务器上,几乎是无缝的,但在管理机的VSPHARE上可以实时看到,我认为这个方案比传统双机要好得多,而且ESX也不贵,调试比双机冗余来得简单,网上还有大堆的破解。