PostgreSQL Replication之第九章 与pgpool一起工作(1)
在前面的章节中,我们已经能够深入地理解了pgbouncer,同时也学会了如何使用它来尽可能地优化复制设置。在本章我们将了解一个经常被称作与pgbouncer相对应的工具。尽管pgpool的思想与pgbouncer有许多相似地方,它已经被设计为比pgbouncer多好多的特性。虽然做一件事pgbouncer更轻盈和优化过的。pgpool提供了更多的特点和承诺了附加的功能。
根据您的需求,您可以自由决定对于您的特殊设置来说哪个工具较好。
9.1 安装pgpool
正如我们已经看到的PostgreSQL,pgbouncer和包含在本书中的大多数其他工具,我们可以从源代码安装pgpool或者使用二进制包来安装。我们将再次描述如何从源代码进行编译。
要安装pgpool,我们首先必须下载它:
http://www.pgpool.net/mediawiki/images/pgpool-II-3.2.4.tar.gz
一旦下载完成,我们就可以提取代码:
$ tar xvfz pgpool-II-3.2.4.tar.gz
安装过程就像我们已经看到的。我们要做的第一件事是和一些参数来调用configure。在我们的例子中,主要的参数是—with-pgsql,它告诉构建过程在哪里可以找到我们的PostgreSQL安装。
$ ./configure --with-pgsql=/usr/local/pgsql/
现在我们可以容易地编译和安装软件了:
make
make install
9.1.1 安装pgpool-regclass和insert_lock
您刚才看到的是一个基本的pgpool安装。但是,为了是系统真正的动作,安装额外的模块是非常有帮助的,例如pgpool-regclass和insert_lock。,安装pgpool-regclass对于处理DDL复制来说是非常重要的。对于insert_lock处理分布式写是非常重要的。强烈推荐安装这个模块,因为不这样的话DDLs操作将无法工作。到现在为止,我们还没有看到实际的安装中,这个模块没有任何意义的情况。
首先让我们来安装pgpool-regclass:
cd sql/pgpool-regclass/
make
make install
为了使那个模块工作,我们必须部署pgpool-regclass文件。那个模块必须出现自所有我们将要使用的数据库当中。实现这个操作的最简单的方法是简单地把SQL文件加载到template1当中。每当有新的数据库被创建,template1将被克隆,以便所有新的数据库自动获得这个模块。
这同样适用于insert_lock.sql,它可以在pgpool的源代码的sql目录中找到。最简单的方法是直接把它加载到template1:
psql -f insert_lock.sql template1
一旦代码被安装,我们可以继续看看如何使用pgpool。
PostgreSQL Replication之第九章 与pgpool一起工作(1)的更多相关文章
- PostgreSQL Replication之第九章 与pgpool一起工作(7)
9.7 处理故障转移和高可用 可以使用pgpool来解决的一些明显的问题是高可用性和故障转移.一般来讲,有使用pgpool或者不使用pgpool可以用来处理这些问题的各种方法. 9.7.1 使用Pos ...
- PostgreSQL Replication之第九章 与pgpool一起工作(4)
9.4 设置复制和负载均衡 要配置pgpool,我们可以简单地使用一个包含一种典型的配置信息的已经存在的样本文件,将它拷贝到我们的配置目录并修改之: $ cp /usr/local/etc/pgpoo ...
- PostgreSQL Replication之第九章 与pgpool一起工作(6)
9.6 运行pgpool和流复制 pgpool也可以和除了语句级别的复制之外的流复制一起使用.一个完美的方案是使用PostgreSQL的板载复制和仅仅使用pgpool的负载均衡与连接池. 实际上,这样 ...
- PostgreSQL Replication之第九章 与pgpool一起工作(3)
9.3 理解pgpool的架构 一旦我们安装了pgpool,是时候来讨论软件架构了.从一个用户的角度看,pgpool就像一个 正常的数据库服务器,您可以想连接任何其他服务器一样连接到它: pgpool ...
- PostgreSQL Replication之第九章 与pgpool一起工作(2)
9.2 理解pgpool的功能 pgpool提供了如下功能: •连接池 •语句级别的复制 •负载均衡 •限制连接 •内存缓存 •并行查询 [当决定使用那些功能的时候,记住并非所有的功能可以在同一时间使 ...
- PostgreSQL Replication之第九章 与pgpool一起工作(5)
9.5 检查复制 如果所有的节点都处于开机并运行的状态.我们就可以在集群上运行我们的第一个操作了.在我们的例子中,我们将简单地连接到pgpool并创建一个新的数据库.createdb 是一个命令行工具 ...
- PostgreSQL Replication之第一章 理解复制概念(1)
PostgreSQL Replication系列翻译自PostgreSQL Replication一书 在本章中,将会介绍不同的复制概念,您会了解哪些类型的复制对哪一种实用场景是最合适的. 在本章的最 ...
- PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(5)
2.5 XLOG的内部结构 我们将使用事务贯穿本书,并让您在技术层面上更深地洞察事情是如果工作的,我们已经增加了这部分专门处理XLOG的内部工作机制.我们会尽量避免前往下降到C级,因为这将超出本书的范 ...
- PostgreSQL Replication之第二章 理解PostgreSQL的事务日志(4)
2.4 调整检查点和XLOG 目前为止,这一章已经提供深入洞察PostgreSQL如何写入数据,一般来说,XLOG是用来干什么的.考虑到这方面的知识,我们现在可以继续并学习我们能做些什么来使我们的数据 ...
随机推荐
- python解压,压缩,以及存数据库的相关操作
zipfile实现压缩整个目录和子目录 import os,shutil,zipfile,glob def dfs_get_zip_file(input_path,result): # files = ...
- 英语影视台词---八、the shawshank redemption
英语影视台词---八.the shawshank redemption 一.总结 一句话总结:肖申克的救赎 1.It's funny. On the outside, I was an honest ...
- ThinkPHP5.0框架开发--第3章 TP5.0 配置
ThinkPHP5.0框架开发--第3章 TP5.0 配置 第3章 TP5.0 配置 ========================================================= ...
- html 移动端关于长按图片弹出保存问题
在做html5项目的时候有个需求是要拖动一个图片,但是又不要用户长时间按着弹出保存框.首先想到的就是在点图片的时候阻止默认事件的发生: js停止冒泡· function myfn(e){ window ...
- 51nod 1562 玻璃切割 (STL map+一点点的思考)
1562 玻璃切割 题目来源: CodeForces 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 现在有一块玻璃,是长方形的(w 毫米× h 毫米),现在要 ...
- Sublime Text 3 注册码 激活码 版本号 Build 3143
—– BEGIN LICENSE —– TwitterInc 200 User License EA7E-890007 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA ...
- Java事件处理机制2
实现一个小程序,怎样让小球受到键盘的控制,上下左右移动,如图: public class Demo3 extends JFrame{ MyPanel mp=null; public static vo ...
- 【原创】VMWare克隆或复制Linux虚拟机后无法上网的解决
如果选择桥接,需要设置网卡通过哪个物理网卡桥接,桥接代表当前虚拟机通过本机的网卡直接连到网络中,本机网卡作为一个交换机直连.因此需要确定使用哪个网卡桥接,一般在单网卡的时候选择自动即可,多网卡时需要指 ...
- lsof 命令简介
losf 命令可以列出某个进程打开的所有文件信息.打开的文件可能是普通的文件,目录,NFS文件,块文件,字符文件,共享库,常规管道,明明管道,符号链接,Socket流,网络Socket,UNIX域So ...
- 优动漫PAINT中误删工具怎么办?
最近收到一些小伙伴的提问,说我不小心把 XXX工具从面板上删掉了怎么办?本教程就来给大家分 享一下遇到这个问题时的三种解决方法,遇到同样问题的小伙伴们赶紧进来看一下哟! 优动漫PAINT下载:http ...