GithubHelp home page GithubHelp logo

Comments (6)

vitabaks avatar vitabaks commented on June 2, 2024

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.

rcknr avatar rcknr commented on June 2, 2024

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.

vitabaks avatar vitabaks commented on June 2, 2024

In the same configuration

by default, it is placed locally on the database server before Postgres.

Balancers (optional) -> pgcat -> Postgres

from postgresql_cluster.

TheOriginalGraLargeShrimpakaReaper avatar TheOriginalGraLargeShrimpakaReaper commented on June 2, 2024

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.

rcknr avatar rcknr commented on June 2, 2024

@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.

vitabaks avatar vitabaks commented on June 2, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.