PostgreSQL集群篇——2、PG环境安装准备

作者

CN華少

标签

PostgreSQL,PG,集群,DBA,架构师,PG安装,编译安装

背景

pgpool-II是一个位于PostgreSQL服务器与PostgreSQL数据库客户端之间的代理器,它提供了以下功能:

| 功能 | 描述 |
| :—————-: | :———————————————————-: |
| 连接池 | pgpool-II保持已经连接到PostgreSQL服务器的连接,并在使用相同参数(例如:用户名,数据库,协议版本)连接进入时重用它们。它减少了连接开销,并增加了系统的总体吞吐量。 |
| 复制 | pgpool-II可以管理多个PostgreSQL服务器。激活复制功能可使在2台以上的PostgreSQL节点中建立一个实时备份,这样在其中一台节点失效时,服务可以不被中断继续运行。 |
| 负载均衡 | 如果数据库进行了复制(复制模式或准备模式下),则在任何一台服务器中执行一个SELECT查询将返回相同的结果。pgpool-II利用了复制功能以降低每台PostgreSQL服务器的负载。它通过分发SELECT查询到所有可用的服务器中,增强了数据库的整体吞吐量。在理想的情况下,读性能应该和PostgreSQL服务器的数量成正比。负载均衡功能在有大量用户同时执行很多只读查询的场景下工作效果最好。 |
| 限制超过限度的连接 | PostgreSQL会限制当前的最大连接数,当到达这个数量时,新的连接将被拒绝。增加这个最大连接数会增加资源消耗,并且对系统的全局性能有一定的负面影响。pgpool-II也支持限定最大连接数,但他的做法是将连接放入队列,而不是立即返回一个错误。 |
| 并行查询 | 使用并行查询时,数据可以被分割到多台服务器上,所以一个查询可以在多台服务器上同时进行,以减少总体执行时间。并行查询在查询大规模数据的时候非常有效。 |

pgpool-II使用PostgreSQL的前后台程序之间的协议,并且在前后台之间传递消息,因此应用程序认为pgpool-II就是实际的PostgreSQL数据库,而后端的数据库服务器则认为pgpool-II是它的一个客户端。

因为这一特性,我们现有的数据库应用程序基本上可以不需要修改就可以使用pogpool-II了。

环境

PostgreSQL集群篇整体采用3台虚拟机进行搭建,相关情况如下:

| 服务器IP | 端口号 | CPU | 内存 | 存储 | 作用 |
| ———– | —— | —- | —- | —- | ———————– |
| 10.28.1.181 | 5100 | 4核 | 8G | 200G | 主master节点,pgpool-II |
| 10.28.1.182 | 5100 | 4核 | 8G | 200G | 从slave节点,pgpool-II |
| 10.28.1.183 | | 4核 | 8G | 200G | pgpool-II |
| 10.28.1.210 | | 4核 | 8G | 200G | VIP节点,虚拟IP |

内容:

1、

sudo apt-get install gcc libpqxx-dev -y
su postgres
mkdir /pg/pgpool-II
cd /pg/pgpool-II
mkdir install && cd install
wget https://www.pgpool.net/mediawiki/images/pgpool-II-4.2.1.tar.gz
tar -zxf pgpool-II-4.2.1.tar.gz
cd pgpool-II-4.2.1/

./configure --prefix=/pg/pgpool-II -with-pgsql=/pg \
--with-pgsql-includedir=/pg/include \
--with-pgsql-libdir=/pg/lib 
make
make install

# 在线恢复
cd /pg/pgpool-II/install/pgpool-II-4.2.1/src/sql/pgpool-recovery 

文章首发平台

个人站点、微信公众号、简书

微信公众号

同步发布平台

腾讯云+社区开源中国博客园

本文声明

88x31.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。