A Connection Pooling/Replication Server for PostgreSQL

Edit Package pgpool-II
http://pgpool.projects.postgresql.org/

pgpool-II is a middleware that works between PostgreSQL servers and a PostgreSQL database client. It provides the following features.

* Connection Pooling

pgpool-II saves connections to the PostgreSQL servers, and reuse them whenever a new connection with the same properties (i.e. username, database, protocol version) comes in. It reduces connection overhead, and improves system's overall throughput.
* Replication

pgpool-II can manage multiple PostgreSQL servers. Using the replication function enables creating a realtime backup on 2 or more physical disks, so that the service can continue without stopping servers in case of a disk failure.
* Load Balance

If a database is replicated, executing a SELECT query on any server will return the same result. pgpool-II takes an advantage of the replication feature to reduce the load on each PostgreSQL server by distributing SELECT queries among multiple servers, improving system's overall throughput. At best, performance improves proportionally to the number of PostgreSQL servers. Load balance works best in a situation where there are a lot of users executing many queries at the same time.
* Limiting Exceeding Connections

There is a limit on the maximum number of concurrent connections with PostgreSQL, and connections are rejected after this many connections. Setting the maximum number of connections, however, increases resource consumption and affect system performance. pgpool-II also has a limit on the maximum number of connections, but extra connections will be queued instead of returning an error immediately.
* Parallel Query

Using the parallel query function, data can be divided among the multiple servers, so that a query can be executed on all the servers concurrently to reduce the overall execution time. Parallel query works the best when searching large-scale data.

pgpool-II talks PostgreSQL's backend and frontend protocol, and relays a connection between them. Therefore, a database application (frontend) thinks that pgpool-II is the actual PostgreSQL server, and the server (backend) sees pgpool-II as one of its clients. Because pgpool-II is transparent to both the server and the client, an existing database application can be used with pgpool-II almost without a change to its sources.

Refresh
Refresh
Source Files
Filename Size Changed
_multibuild 0000000197 197 Bytes
pgpool-II-3.6.1_implicit.patch 0000000503 503 Bytes
pgpool-II-4.0.5.tar.gz 0003768842 3.59 MB
pgpool-II.changes 0000063328 61.8 KB
pgpool-II.init 0000011723 11.4 KB
pgpool-II.service 0000000360 360 Bytes
pgpool-II.spec 0000012001 11.7 KB
pgpool-II.sysconfig 0000000333 333 Bytes
pgpool-II.tmpfiles.d 0000000121 121 Bytes
pgpool-II_conf.patch 0000010609 10.4 KB
pgpool-ha-3.0.tar.bz2 0000005215 5.09 KB
pgpoolAdmin-4.0.1.tar.gz 0001058477 1.01 MB
postgresql-pgpool-II.spec.in 0000003504 3.42 KB
series 0000000052 52 Bytes
Revision 52 (latest revision is 71)
Marcus Rueckert's avatar Marcus Rueckert (darix) committed (revision 52)
- update to 4.0.5
  http://www.pgpool.net/docs/latest/en/html/release-4-0-1.html
  http://www.pgpool.net/docs/latest/en/html/release-4-0-2.html
  http://www.pgpool.net/docs/latest/en/html/release-4-0-3.html
  http://www.pgpool.net/docs/latest/en/html/release-4-0-4.html
  http://www.pgpool.net/docs/latest/en/html/release-4-0-5.html
- update pgpoolAdmin to 4.0.1
  The purpose of this release is to address CVE-2018-16203, which
  allow an attacker to login without properly checking the
  authorization. Once getting into gpoolAdmin, the attacker can
  control Pgpool-II. Also it may be possible to obtain the
  superuser role of a PostgreSQL database.
Comments 4

Ralf Kölmel's avatar

Could you please update pgpool-II to version 4.2.2. Thank you in advance. Best Regards, Ralf


Mihail Gershkovich's avatar

The service file needs following update in Unit section: Wants=postgresql.service After=postgresql.service

Basically: [Unit] Description=PGPool-II Middleware Between PostgreSQL Servers And PostgreSQL Database Clients After=syslog.target network.target Wants=postgresql.service After=postgresql.service

[Service] User=pgpool Group=pgpool

EnvironmentFile=-/etc/sysconfig/pgpool

ExecStart=/usr/sbin/pgpool -n -f /etc/pgpool-II/pgpool.conf ExecReload=/usr/sbin/pgpool reload Restart=always

[Install] WantedBy=multi-user.target



Mihail Gershkovich's avatar

for some reason my submit was revoked and I have no idea how to go on. if somebody wants to test out my build, it is under derived packages: https://build.opensuse.org/package/show/home:Mihail-Klr:branches:server:database:postgresql/pgpool-II

openSUSE Build Service is sponsored by