Re: [EXTERNAL] Re: Limits user connection in pgbouncer

From: Daulat <daulat(dot)dba(at)gmail(dot)com>
To: "Godfrin, Philippe E" <Philippe(dot)Godfrin(at)nov(dot)com>, pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: [EXTERNAL] Re: Limits user connection in pgbouncer
Date: 2021-12-14 17:31:47
Message-ID: CALfOM6Lk+q_OstTRBbmY93ecTFkR0so6xP05ojms84X2gE+5CQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

I am getting below an error message while making changes.

2021-12-14 17:11:37.230 UTC [5023] ERROR skipping database user1 because of
unknown parameter in connstring: max_user_connections

.
[databases]
;;postgres = host=localhost port=5432 dbname=postgres
postgres = host=localhost dbname=postgres
user1=pool_mode=session max_user_connections=2

On Tue, Dec 14, 2021 at 10:44 PM Daulat <daulat(dot)dba(at)gmail(dot)com> wrote:

> Thanks for sharing !
> If you don't mind . Can you please share your configuration file. I want
> to see what I am missing.
> That will help alot !
>
> Regards,
>
> On Tue, Dec 14, 2021 at 10:11 PM Godfrin, Philippe E <
> Philippe(dot)Godfrin(at)nov(dot)com> wrote:
>
>> >
>>
>> >
>>
>> >From: Daulat daulat(dot)dba(at)gmail(dot)com
>>
>> >Sent: Tuesday, December 14, 2021 1:28 AM
>>
>> >To: MichaelDBA MichaelDBA(at)sqlexec(dot)com
>>
>> >Cc: Godfrin, Philippe E Philippe(dot)Godfrin(at)nov(dot)com; Achilleas Mantzios
>> achill(at)matrix(dot)gatewaynet(dot)com; pgsql-admin(at)lists(dot)postgresql(dot)org
>>
>> >Subject: Re: [EXTERNAL] Re: Limits user connection in pgbouncer
>>
>> >
>>
>> >
>>
>> >
>>
>> >
>>
>> >Hi Michael ,
>>
>> >
>>
>> >I have tried by setting the below entry under the users section but
>> still I am able to make more than 2 connections. Please suggest what I am
>> missing here ?
>>
>> >
>>
>> >[users]
>>
>> >user1 = pool_mode=transaction max_user_connections=2
>>
>> >
>>
>> >Here are my other details:
>>
>> >
>>
>> >[databases]
>>
>> >db1 = host=localhost dbname=db1
>>
>> >
>>
>> >logfile = /var/log/pgbouncer/pgbouncer.log
>>
>> >pidfile = /var/run/pgbouncer/pgbouncer.pid
>>
>> >listen_addr = *
>>
>> >listen_port = 6432
>>
>> >auth_type = md5
>>
>> >auth_file = /etc/pgbouncer/userlist.txt
>>
>> >admin_users = postgres
>>
>> >pool_mode = session
>>
>> >max_client_conn = 300
>>
>> >max_db_connections = 2
>>
>> >max_user_connections = 2
>>
>> >
>>
>> >On Mon, Dec 13, 2021 at 6:38 PM MichaelDBA MichaelDBA(at)sqlexec(dot)com wrote:
>>
>> >Hi all,
>>
>> >
>>
>> >If you add the user to the database specification, then you can limit
>> connections per user:
>>
>> >db1 = host=localhost dbname=db1 pool_size=2 user=myuser
>>
>> >
>>
>> >Regards,
>>
>> >Michael Vitale
>>
>> >
>>
>> >
>>
>> >Godfrin, Philippe E wrote on 12/13/2021 7:57 AM:
>>
>> >
>>
>> >On 13/12/21 10:05 π.μ., Daulat wrote:
>>
>> >
>>
>> >Hello Team,
>>
>> >How can we limit the user to make a specific number of connections to
>> the database?
>>
>> >Just specify this in the db definition configuration :
>>
>> >
>>
>> >db1 = host=localhost dbname=db1 pool_size=2
>>
>> >
>>
>> >but it will apply to every user, so that every user's pool will have max
>> 2 connections, not only user1.
>>
>> >
>>
>> >Alternatively you could set "ALTER ROLE .. CONNECTION LIMIT connlimit "
>> for user1 individually.
>>
>> >
>>
>> >
>>
>>
>>
>> Works for me, with these relevant parameters:
>>
>> postgres(at)tstudb01:/postgres/admin/pgb=> grep "^[[:alpha:]]"
>> pgbo_644401.ini
>>
>> testuid=pool_mode=session max_user_connections=2
>>
>> pool_mode = transaction
>>
>> max_client_conn = 1000
>>
>> reserve_pool_size = 50
>>
>> reserve_pool_timeout = 5
>>
>> max_user_connections = 300
>>
>> server_connect_timeout = 15
>>
>> server_login_retry = 1
>>
>> client_idle_timeout = 0
>>
>> client_login_timeout = 30
>>
>>
>>
>> SESSIONS:
>>
>> postgres(at)tstudb01:~=> sq -p6444 - testuid -dtsdb
>>
>> Pager usage is off.
>>
>> SET
>>
>> Time: 0.296 ms
>>
>> psql (13.3 (Ubuntu 13.3-1.pgdg18.04+1))
>>
>> Type "help" for help.
>>
>>
>>
>> [tsdb(at)] # \conninfo
>>
>> You are connected to database "tsdb" as user " testuid " on host
>> "localhost" (address "127.0.0.1") at port "6444".
>>
>> [tsdb(at)] #
>>
>>
>> **************************************************************************************************
>>
>>
>>
>> postgres(at)tstudb01:~=> sq -p6444 - testuid -dtsdb
>>
>> Pager usage is off.
>>
>> SET
>>
>> Time: 3.105 ms
>>
>> psql (13.3 (Ubuntu 13.3-1.pgdg18.04+1))
>>
>> Type "help" for help.
>>
>>
>>
>> [tsdb(at)] # \conninfo
>>
>> You are connected to database "tsdb" as user " testuid " on host
>> "localhost" (address "127.0.0.1") at port "6444".
>>
>> [tsdb(at)] #
>>
>>
>> **************************************************************************************************
>>
>>
>>
>> postgres(at)tstudb01:/postgres/admin/pgb=> sq -p6444 - testuid -dtsdb
>>
>> Pager usage is off.
>>
>>
>> **************************************************************************************************
>>
>>
>>
>> postgres(at)tstudb01:~=> sq -p6444 - testuid -dtsdb
>>
>> Pager usage is off.
>>
>>
>>
>>
>> **************************************************************************************************
>>
>> NOTE:
>>
>> Looking at active processes does not tell you the whole story:
>>
>>
>>
>> postgres(at)tstudb01:/postgres/admin/pgb=> psh |grep testuid
>>
>> postgres 22980 2899 0 16:26 ? 00:00:00 postgres: unidb01:
>> testuid tsdb 172.31.1.53(35638) idle
>>
>> postgres 23122 20603 0 16:29 pts/4 00:00:00
>> /usr/lib/postgresql/13/bin/psql -p6444 -dtsdb -hlocalhost -p6444 -Utestuid
>> -dtsdb
>>
>> postgres 23157 2899 0 16:29 ? 00:00:00 postgres: unidb01:
>> godfrinpe tsdb 172.31.1.53(35806) idle
>>
>> postgres 23158 20718 0 16:29 pts/5 00:00:00
>> /usr/lib/postgresql/13/bin/psql -p6444 -dtsdb -hlocalhost -p6444 - Utestuid
>> -dtsdb
>>
>> postgres 23168 16349 0 16:29 pts/2 00:00:00
>> /usr/lib/postgresql/13/bin/psql -p6444 -dtsdb -hlocalhost -p6444 - Utestuid
>> -dtsdb
>>
>> postgres 23176 23048 0 16:29 pts/1 00:00:00
>> /usr/lib/postgresql/13/bin/psql -p6444 -dtsdb -hlocalhost -p6444 - Utestuid
>> -dtsdb
>>
>>
>>
>> The idle processes are the only two that are actually connected…
>>
>> phil
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Daulat 2021-12-14 17:35:03 Re: [EXTERNAL] Re: Limits user connection in pgbouncer
Previous Message Daulat 2021-12-14 17:25:53 Re: ERROR: could not open file "pg_tblspc