zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    python核心编程学习记录之基础知识
    VC++6.0出现no compile tool is associated with the extension.解决方法
    内存记号(Memory Trail)[自定义的名字] --调试方法
    Console 窗口
    C++ Builder创建和调用dll中的资源
    C++ builder 书籍推荐
    Qt书籍推荐
    消息队列数据结构
    Qt工程文件说明
    .obj : error LNK2001: unresolved external symbol "public: static unsigned long __stdcall ReadWrite::readData(void *)" (?readData@ReadWrite@@SGKPAX@Z)
  • 原文地址:https://www.cnblogs.com/songyuejie/p/4749596.html
Copyright © 2011-2022 走看看