[Pgpool-general] pgpool-II 3.0 /pgpoolAdmin 3.0 released

Toshihiro Kitagawa kitagawa at sraoss.co.jp
Fri Sep 10 01:58:30 UTC 2010


Pgpool Global Development Group is pleased to announce the
availability of pgpool-II 3.0. In the mean time new version of
pgpoolAdmin, the GUI tool for pgpool-II, pgpoolAdmin 3.0 is
released.

pgpool-II 3.0/pgpoolAdmin 3.0 can be downloaded here:

http://pgfoundry.org/frs/download.php/2798/pgpool-II-3.0.tar.gz
http://pgfoundry.org/frs/download.php/2799/pgpoolAdmin-3.0.tar.gz

Pgpool-II 3.0 is an important version in its history. The internal
structure has been dramatically enhanced to make it more robust and
easier to maintain. Also this version adopts to PostgreSQL 9.0's
built-in replication. Many enhancements are added also. So users of
PostgreSQL 8.4 or prior versions should be able to enjoy pgpool-II
3.0's enhancements as well.

Pgpool-II 3.0 has been tested with PostgreSQL 9.0 RC1 and prior
versions of PostgreSQL including 7.3.

Users of prior versions of pgpool-II should be able to upgrade to
pgpool-II 3.0 without much pain. Especially pgpool-II 2.3.x users
should be able to migrate to 3.0 without changing pgpool.conf(it is
recommneded to use new pgpool.conf, though).

However be warned that output format of some of pcp command are
changed. Please look into the documents. Also you should use
pgpoolAdmin 3.0 with pgpool-II 3.0. Prior versions of pgpoolAdmin is
not compatible with pgpool-II 3.0.

Attached are release note of pgpool-II 3.0 and pgpoolAdmin 3.0.

-----------------------------------------------------------------------
3.0(umiyameboshi) 2010/09/10

      * Version 3.0

      This is the first version of pgpool-II 3.0 series.
      That is, a "major version up" from 2.2 or 2.3 series.

      The biggest news is, this version adapts to PostgreSQL 9.0's new
      feature: Streaming Replication/Hot Standby. Streaming
      replication can be used as a sub mode of master slave
      mode. Master slave mode itself heavily enhanced:

      - SELECTs in explicit transactions can be load balanced

      - In extended protocol, PARSE/BIND/DESCRIBE messages are sent to
        the node which execute EXECUTE message, not all node. This
        will reduce lock contentions.

      - Auto start of transaction happens only when it needed.

      - Temporary tables can be used safely.

      - SELECT which calls functions possibly write to database
        executes on master(primary)

      Also many new features are added and major refactoring has been
      made to the internal structure of pgpoo-II. For example, in
      replication mode, SELECTs calling functions possibly write to
      database will not allow to load balance.

	  * New features

      - Online recovery can be used with master/slave/streaming
        replication mode(Tatsuo)

      - New directive "delay_threshold" is added to monitor
        replication delay in master/slave/streaming replication
        mode. If replication delay is too much, SELECTs are not load
        balanced(Tatsuo)

      - show pool_status shows replication delay in
        master/slave/streaming replication mode(Tatsuo)

      - New directive "log_standby_delay" is added to control logging of
        replication delay in master/slave/streaming replication
        mode(Tatsuo)

      - When insert_lock is enabled and the table includes SERIAL data
        type, issue row lock on the sequence table. Before we issues
        table lock. Problem is, the table lock conflicts with auto
        vacuum and sometimes caused excessive lock waiting(Tatsuo)

      - Add support for more "SHOW" commands: pool_nodes,
        pool_processes, pool_pools, and pool_version(Guillaume Lelarge)

      - Backend process id and whether frontend connects to this
        connection pool or not are added to pcp_proc_info's
        output(Tatsuo)

      - "Gracefuly detach" option is added to pcp_detatch_node. With
        this option, pcp_detatch_node waits until all frontends
        disconnected(Tatsuo)

      - New directive "white_function_list" and "black_function_list"
        are added to register functions those do not or do write to
        database(Tatsuo)

      - In master/slave mode, SELECTs to system catalogs executes only
        on master/primary(Tatsuo)

      - In master/slave mode, SELECTs to temporary table executes only
        on master/primary(Tatsuo)

      - In master/slave mode, write queries outside of explicit
        transactions no longer trigger to start internal
        transaction(Tatsuo)

      - In master/slave mode, SELECTs inside explicit transactions are
        load balanced(Tatsuo, Kitagawa)

      - In master/slave mode, commands are no longer sent to all DB
        nodes. This will prevent unnecessary locking(Tatsuo, Kitagawa)

      - New command option adds to ignore the status file when
        starting up(Tatsuo)

      - Supports PostgreSQL 9.0's new VACUUM syntax(Tatsuo)

      - New directive "failover_if_affected_tuples_mismatch" controls
        the behavior when number of result rows of
        INSERT/UPDATE/DELETE are differ(Tatsuo)

      - When number of result rows of INSERT/UPDATE/DELETE are
        differ, each number are logged(Tatsuo)

      - md5 authentication is supported in replication mode and
        master/slave mode(Tatsuo)

      - Allow to force to move to online recovery second stage even
        there are connecting frontends(Tatsuo)

      - If there's only one DB node and it triggers failover,
        pgpool-II will automatically connects if the DB node coming
        up(Tatsuo)

      - Pcp commands supports long options(Guillaume Lelarge)

      - New directive "debug_level" added to control the debug message
        logging(Tatsuo)

      - Allow to use various boolean representations as PostgreSQL in
        pgpool.conf(Kitagawa)

      - New C language function pgpool_switch_xlog for online recovery
        added(Kitagawa)

      - New C language function pgpool_regclass added to avoid a trouble
        about handling of duplicate table names in different schema(Tatsuo)

	  * Bug fixes

      - Do not rewrite statement which accesses columns having now()
        etc. as the default value but the data type are not timestamp
        etc.  Otherwise we have an error in DMLs(Tatsuo)

      - Fix timestamp rewriting not to omit schema qualification(Tatsuo)

      - Fix bug with timeout handling in pcp commands(Tatsuo)

      - Fix SSL hang when large amount of data transfered(Tatsuo)

      - Fix failover when there's only one DB node(Tatsuo)

      - Fix bug with postmaster start check in online recovery.
        Before it continued infinitely to try to connect to postmaster
        if the first attempt failed(Tatsuo)

-----------------------------------------------------------------------
pgpoolAdmon 3.0 2010/09/10

	* Version 3.0

	  pgpoolAdmin 3.0 adopts pgpool-II 3.0.

      - Add "Discard pgpool_status file(-D)" to pgpoolAdmin Setting(Anzai)

      - Sync pgpool.conf Setting with pgpool-II 3.0(Anzai, Tatsuo)

      - Add "Backend pid" (process if of PostgreSQL database
            server process) and "Frontend connected"(1 if frontend
            actually connets) to Process Info.(Tatsuo)

      - Replace functions deprecated in PHP 5.3(Anzai)

      - Refactor pgpool status/summary(Tatsuo)

      - Fix connect/disconnect buttons disappering ini node status
        window(Tatsuo)



More information about the Pgpool-general mailing list