PostgreSQL学习笔记

2019-04-15  本文已影响0人  zhglance

一、PostgreSQL简介

1.功能强大

支持Nest Loop hash join,sort merge join等,并且支持数组类型,集合烈性,网络地址类型,xml,JSON/JSONB(且支持JSONB上创建索引),range类型,复合类型(如同内部类),内置函数丰富,支持丰富的正则表达式。

2.性能监控和度量信息丰富

可以方便定位到正在实行的SQL,那条SQL被锁定等。

3.稳定可靠

a.相比于MySQL的异步复制,PostgreSQL采用同步复制,实现零数据丢失的HA方案;
b.MySql创建索引会锁定整张表,PostgreSQL支持在线建索引;
c.对表添加列时,无需对表的物理结构做修改,不想MySQL那样。

4.开源免费

PostgreSQL是BSD协议,没有二次开发的限制。

5.社区工具活跃

PgBouncer轻量级连接池,Slony集群,Bucardo双向同步工具,实现双主数据库方案,有PL/Proxy和Postgres-XC(支持跨机器join)水平分库工具,pgpool连接池和负载均衡工具,HA-JDBC高可用方案等。

6.支持语言丰富

支持C/C++,Perl,Python、JAVA,PHP等。

二、主从复制

1.WAL日志归档

即把WAL log复制到其他地方,可以使用unix命令实现;

2.流复制

这种方式在主数据库产生日志后,日志马上传到从数据库。PostgresSQL支持异步和同步。

a.流同步复制:

通过在主数据库提交事务时,等到WAL log传递到从数据库才返回,这样保证主从数据库的0数据丢失。缺点:当所有从数据库宕机后,系统会受影响,但是只要有一台从数据正常,那么服务就正常。

b.流异步复制:

通过在主数据库提交事务时,不必等到WAL log传递到从数据库才返回,这样从数据库的数据相对于从数据库有延迟。

上一篇下一篇

猜你喜欢

热点阅读