Comments (6)
Yes, I have an idea to add pgcat as an alternative to pgbouncer so that the user can choose which connection pooler to use.
I need to take the time to do this, or you can suggest a PR.
from postgresql_cluster.
Currently, the playbook installs a copy of pgbouncer to each cluster node. With pgcat I currently test it with a single instance replacing haproxy as well. If you install pgcat instead of pgbouncer which topology would you use?
from postgresql_cluster.
In the same configuration
by default, it is placed locally on the database server before Postgres.
Balancers (optional) -> pgcat -> Postgres
from postgresql_cluster.
I opened an Discussion on PgCat.
My Idea was, that PgCat replaced HAproxy and PgBouncer because it is a Proxy and Loud Balancer with SQL Inspect for Splitting Read/Write.
The Problem is, it seems that PgCat is not able to Check the Patroni State.
@vitabaks what did you find out about this?
from postgresql_cluster.
@TheOriginalGraLargeShrimpakaReaper why do you think it is a problem? pgcat claims to have its own healthcheck performed by connecting to PostgreSQL directly. Cluster configuration can be populated from etcd with confd the same way HAProxy is configured by this playbook. pgcat even reloads its configuration on its own.
from postgresql_cluster.
My Idea was, that PgCat replaced HAproxy and PgBouncer because it is a Proxy and Loud Balancer with SQL Inspect for Splitting Read/Write.
The Problem is, it seems that PgCat is not able to Check the Patroni State.
In this case, you need to understand that it will have fewer features than a load balancer integrated with the Patroni REST API. For example, we can now define sync and async replicas separately, automatically exclude replicas with a lag of more than patroni_maximum_lag_on_replica
and use user tags (balancer_tags
), for example, to be able to split read traffic across different datacenters. In the case of pgcat, as I understand it, this will be the usual load balancing for reading, but perhaps this will be enough for many.
By default, HAProxy and PgBouncer will be specified, but those who know what they are doing (understand the limitations) will be able to select pgcat to use its functions.
If we consider it not only as a connection pooler but also as a load balancer, then its servers should be defined in the "balancers" group to be able to control which servers to deploy it on (dedicated or database servers).
from postgresql_cluster.
Related Issues (20)
- haproxy.cfg creation issue HOT 3
- Patroni restartarts database HOT 5
- Patroni dependency missing HOT 5
- Patroni/etcd 404 error HOT 11
- How to add a shared library pg_cron HOT 1
- Setting HA true switched alma9 from init 3 to init 5 and wiped out ssh keys causing man in the middle banner and failure HOT 7
- Have Different default_pool_size for two seperate database HOT 6
- How to install pgbackrest with init cluster ? HOT 15
- Restart of pgbouncer fails HOT 9
- The connection is getting timeout with errors while making conenctions with pgbouncer HOT 1
- Consul service structure clarification needed HOT 5
- Add supported OS: RedOs, Astralinux HOT 1
- Debian 12 - Ansible Issue - etcd Download Package HOT 3
- ansible-playbook update_pgcluster.yml -e target=system fails HOT 12
- Question: user, db are not created when fresh cluster installs due skip result in condition HOT 1
- importlib.metadata.PackageNotFoundError: No package metadata was found for patroni HOT 1
- Question: In some reason I have always basic pg_hba.conf file content without users and vm ips HOT 1
- Unable to start patroni after pgbackrest restore HOT 8
- Wal-g backup and restore command doenst work Ubuntu 22.04 due syntax issue HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from postgresql_cluster.