Skip to content

Commit

Permalink
updated pooler
Browse files Browse the repository at this point in the history
  • Loading branch information
Schmaetz committed Jul 15, 2024
1 parent 98be560 commit 69b0deb
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 32 deletions.
19 changes: 12 additions & 7 deletions content/documentation/how-to-use/ConnectionPooler.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,16 @@ CPO relies on pgBouncer, a popular and above all lightweight open source tool. p

## How do I create a pooler for a cluster?

- connection_pooler_number_of_instances How many instances of connection pooler to create. Default is 2 which is also the required minimum.
- connection_pooler_schema Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler.
- connection_pooler_user User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler.
- connection_pooler_image Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer”
- connection_pooler_max_db_connections How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances.
- connection_pooler_mode Default pooler mode, session or transaction. Default is transaction.
- connection_pooler_default_cpu_request connection_pooler_default_memory_reques connection_pooler_default_cpu_limit connection_pooler_default_memory_limit Default resource configuration for connection pooler deployment.
- connection_pooler.number_of_instances - How many instances of connection pooler to create. Default is 2 which is also the required minimum.
- connection_pooler.schema - Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler.
- connection_pooler.user - User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler.
- connection_pooler.image - Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer”
- connection_poole.max_db_connections - How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances.
- connection_pooler.mode - Defines pooler mode. Available Value: `session`, `transaction` or `statement`. Default is `transaction`.
- connection_pooler.resources - Hardware definition for the pooler pods

- enableConnectionPooler - Defines whether poolers for read/write access should be created based on the spec.connectionPooler definition.
- enableReplicaConnectionPooler- Defines whether poolers for read-only access should be created based on the spec.connectionPooler definition.

```
spec:
Expand All @@ -45,6 +48,8 @@ spec:
memory: 100Mi
schema: pooler
user: pooler
enableConnectionPooler: true
enableReplicaConnectionPooler: true
```


4 changes: 2 additions & 2 deletions data/menu/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ main:
- name: Home
ref: "/"
icon: "gdoc_home"
# - name: Architecture
# ref: "architecture"
- name: Architecture
ref: "architecture"
- name: Documentation
# ref: "/documentation"
icon: "gdoc_bookmark"
Expand Down
38 changes: 30 additions & 8 deletions public/documentation/how-to-use/ConnectionPooler/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
"url" : "http://localhost:1313/CYBERTEC-pg-operator/documentation/how-to-use/ConnectionPooler/",
"headline": "ConnectionPooler",
"description": "A connection pooler is a tool that acts as a proxy between the application and the database and enables the performance of the application to be improved and the load on the database to be reduced. The reason for this lies in the connection handling of PostgreSQL.\nHow PostgreSQL handles connection PostgreSQL use a new Process for every database-connection created by the postmaster. This process is handling the connection. On the positive side, this enables a stable connection and isolation, but it is not particularly efficient for short-lived connections due to the effort required to create them.",
"wordCount" : "501",
"wordCount" : "542",
"license": "CC BY-SA 4.0",
"inLanguage": "en",
"isFamilyFriendly": "true",
Expand Down Expand Up @@ -1963,13 +1963,33 @@ <h2 id="how-do-i-create-a-pooler-for-a-cluster">
</h2>
</div>
<ul>
<li>connection_pooler_number_of_instances How many instances of connection pooler to create. Default is 2 which is also the required minimum.</li>
<li>connection_pooler_schema Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler.</li>
<li>connection_pooler_user User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler.</li>
<li>connection_pooler_image Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer”</li>
<li>connection_pooler_max_db_connections How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances.</li>
<li>connection_pooler_mode Default pooler mode, session or transaction. Default is transaction.</li>
<li>connection_pooler_default_cpu_request connection_pooler_default_memory_reques connection_pooler_default_cpu_limit connection_pooler_default_memory_limit Default resource configuration for connection pooler deployment.</li>
<li>
<p>connection_pooler.number_of_instances - How many instances of connection pooler to create. Default is 2 which is also the required minimum.</p>
</li>
<li>
<p>connection_pooler.schema - Database schema to create for credentials lookup function to be used by the connection pooler. Is is created in every database of the Postgres cluster. You can also choose an existing schema. Default schema is pooler.</p>
</li>
<li>
<p>connection_pooler.user - User to create for connection pooler to be able to connect to a database. You can also choose an existing role, but make sure it has the LOGIN privilege. Default role is pooler.</p>
</li>
<li>
<p>connection_pooler.image - Docker image to use for connection pooler deployment. Default: “registry.opensource.zalan.do/acid/pgbouncer”</p>
</li>
<li>
<p>connection_poole.max_db_connections - How many connections the pooler can max hold. This value is divided among the pooler pods. Default is 60 which will make up 30 connections per pod for the default setup with two instances.</p>
</li>
<li>
<p>connection_pooler.mode - Defines pooler mode. Available Value: <code>session</code>, <code>transaction</code> or <code>statement</code>. Default is <code>transaction</code>.</p>
</li>
<li>
<p>connection_pooler.resources - Hardware definition for the pooler pods</p>
</li>
<li>
<p>enableConnectionPooler - Defines whether poolers for read/write access should be created based on the spec.connectionPooler definition.</p>
</li>
<li>
<p>enableReplicaConnectionPooler- Defines whether poolers for read-only access should be created based on the spec.connectionPooler definition.</p>
</li>
</ul>
<pre tabindex="0"><code>spec:
connectionPooler:
Expand All @@ -1984,6 +2004,8 @@ <h2 id="how-do-i-create-a-pooler-for-a-cluster">
memory: 100Mi
schema: pooler
user: pooler
enableConnectionPooler: true
enableReplicaConnectionPooler: true
</code></pre>
</article>

Expand Down
2 changes: 1 addition & 1 deletion public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1862,7 +1862,7 @@ <h2>More</h2>
class="gdoc-markdown gdoc-markdown__align--left"
>
<h1>CPO (CYBERTEC-PG-Operator)</h1>
<p>Current Release: 0.7.0 - RC2 (31.05.2024) <a
<p>Current Release: 0.7.0 (15.07.2024) <a
class="gdoc-markdown__link"
href="/documentation/release_notes"
>Release Notes</a></p>
Expand Down
4 changes: 2 additions & 2 deletions public/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
<link>http://localhost:1313/CYBERTEC-pg-operator/architecture/</link>
<pubDate>Tue, 07 Mar 2023 14:26:51 +0100</pubDate>
<guid>http://localhost:1313/CYBERTEC-pg-operator/architecture/</guid>
<description>This chapter covers all important aspects relating to the architecture of CPO and the associated components. In addition to the underlying Kubertnetes, the various components and their interaction for the operation of a PostgreSQL cluster are analysed.&#xA;Brief overview of the components Network-Traffic PG-Cluster-intern Traffic With internal PG cluster-internal traffic, we are talking about all traffic that is necessary for the operation of the cluster itself. This includes&#xA;Communication for the sync of the replicas: pg_basebackup &amp;amp; streaming replication Communication with pgBackRest (if configured) Backups WAL archiving replica-create for new replicas Read-Write Read-only </description>
<description>This chapter covers all important aspects relating to the architecture of CPO and the associated components. In addition to the underlying Kubertnetes, the various components and their interaction for the operation of a PostgreSQL cluster are analysed.&#xA;Brief overview of the components Network-Traffic PG-Cluster-intern Traffic With internal PG cluster-internal traffic, we are talking about all traffic that is necessary for the operation of the cluster itself. This includes&#xA;Communication for the sync of the replicas: pg_basebackup &amp;amp; streaming replication Communication with pgBackRest (if configured) Backups WAL archiving replica-create for new replicas The figure below shows the internal traffic flows with pgBackRest based on block storage (left) or cloud storage (right)</description>
</item>
<item>
<title>Configuration</title>
Expand Down Expand Up @@ -209,7 +209,7 @@
<link>http://localhost:1313/CYBERTEC-pg-operator/release_notes/</link>
<pubDate>Tue, 07 Mar 2023 14:26:51 +0100</pubDate>
<guid>http://localhost:1313/CYBERTEC-pg-operator/release_notes/</guid>
<description>0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you&amp;rsquo;re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.0 pgBackRest-Compatbility has increased to Version 2.51 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1.</description>
<description>0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you&amp;rsquo;re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1.</description>
</item>
<item>
<title>Support</title>
Expand Down
23 changes: 12 additions & 11 deletions public/release_notes/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<meta name="generator" content="Hugo 0.127.0">


<meta name="description" content="0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you&rsquo;re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.0 pgBackRest-Compatbility has increased to Version 2.51 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1." />
<meta name="description" content="0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you&rsquo;re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1." />

<title>Release Notes | CYBERTEC-PG-Operator</title>

Expand All @@ -38,7 +38,7 @@
content="Release Notes"
/>
<meta property="og:site_name" content="CYBERTEC-PG-Operator" />
<meta property="og:description" content="0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.0 pgBackRest-Compatbility has increased to Version 2.51 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1." />
<meta property="og:description" content="0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1." />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://localhost:1313/CYBERTEC-pg-operator/release_notes/" />

Expand All @@ -55,7 +55,7 @@

<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Release Notes" />
<meta name="twitter:description" content="0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.0 pgBackRest-Compatbility has increased to Version 2.51 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1." />
<meta name="twitter:description" content="0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1." />


<script type="application/ld+json">
Expand All @@ -66,8 +66,8 @@
"name": "Release Notes",
"url" : "http://localhost:1313/CYBERTEC-pg-operator/release_notes/",
"headline": "Release Notes",
"description": "0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.0 pgBackRest-Compatbility has increased to Version 2.51 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1.",
"wordCount" : "328",
"description": "0.7.0 Features Monitoring-Sidecar integrated via CRD Start with Monitoring Password-Hash per default set to scram-sha-256 pgBackRest with blockstorage using RepoHost Internal Certification-Management for RepoHost-Certificates Compatible with PG17Beta2 Changes API Change acid.zalan.do is replaced by cpo.opensource.cybertec.at - If you’re updating your Operator from previous Versions, please check this HowTo Migrate to new API Patroni-Compatibility has increased to Version 3.3.2 pgBackRest-Compatbility has increased to Version 2.52.1 Revision of the restore process Revision of the backup jobs Operator now using Rocky9 as Baseimage Updates Go-Package to 1.",
"wordCount" : "333",
"license": "CC BY-SA 4.0",
"inLanguage": "en",
"isFamilyFriendly": "true",
Expand Down Expand Up @@ -1934,6 +1934,7 @@ <h4 id="features">
<li>Password-Hash per default set to scram-sha-256</li>
<li>pgBackRest with blockstorage using RepoHost</li>
<li>Internal Certification-Management for RepoHost-Certificates</li>
<li>Compatible with PG17Beta2</li>
</ul>
<div class="gdoc-page__anchorwrap">
<h4 id="changes">
Expand All @@ -1948,12 +1949,12 @@ <h4 id="changes">
class="gdoc-markdown__link"
href="documentation/operator/migrateToNewApi/"
>HowTo Migrate to new API</a></li>
<li>Patroni-Compatibility has increased to Version 3.3.0</li>
<li>pgBackRest-Compatbility has increased to Version 2.51</li>
<li>Patroni-Compatibility has increased to Version 3.3.2</li>
<li>pgBackRest-Compatbility has increased to Version 2.52.1</li>
<li>Revision of the restore process</li>
<li>Revision of the backup jobs</li>
<li>Operator now using Rocky9 as Baseimage</li>
<li>Updates Go-Package to 1.22.1</li>
<li>Updates Go-Package to 1.22.5</li>
</ul>
<div class="gdoc-page__anchorwrap">
<h4 id="fixes">
Expand All @@ -1976,9 +1977,9 @@ <h4 id="supported-versions">
</h4>
</div>
<ul>
<li>PG: 13 - 16</li>
<li>Patroni: 3.3.0</li>
<li>pgBackRest: 2.51</li>
<li>PG: 13 - 16 &amp; 17Beta2</li>
<li>Patroni: 3.3.2</li>
<li>pgBackRest: 2.52.1</li>
<li>Kubernetes: 1.21 - 1.28</li>
<li>Openshift: 4.8 - 4.13</li>
</ul>
Expand Down
2 changes: 1 addition & 1 deletion public/search/en.data.min.json

Large diffs are not rendered by default.

0 comments on commit 69b0deb

Please sign in to comment.