[pgpool-hackers: 4302] Re: Proposal: Add user_redirect_preference_list

Tatsuo Ishii ishii at sraoss.co.jp
Fri Apr 7 13:26:39 JST 2023


> I would like to add a new GUC parameter "user_redirect_preference_list" to 4.5
> to allow routing queries to a specific backend node for a specific user connection.
> 
> Currently, we have database_redirect_preference_list and app_name_redirect_preference_list,
> which allow routing queries to a specific backend node for a specific database connection or
> a specific client application connection.
> 
> I think the use case, which uses a connection user based load balance, is also needed.
> 
> For example, an application has GUI management console and server daemon,
> which connect to the same database. GUI management console mainly issues SELECT
> and server daemon mainly issues INSERT.
> In such case, users may want to route all queries issued by GUI management console
> to standby servers to reduce the load on primary server.
> 
> To handle such case, normally we can use app_name_redirect_preference_list.
> However, in some applications the application name may not be configurable.
> 
> That is the reason why I want to add this feature.
> 
> Any comments?

Sounds like a useful feature. However, if it's implemented, now we
have
database_redirect_preference_list. app_name_redirect_preference_list
and user_redirect_preference_list. I feel a little bit redudant. I
think we can unify all of them. For example:

redirect_preference_list = 'selector:user,user0:primary,user[1-4]:1,user[5-9]:standby'

where "selector" is one of "user", "app_name" and "database". In the
example above, it means that:

- user0 is redirected to primary
- user1 to user4 are redirected to db node 1
- user5 to user9 are redirected to one of standby servers

What do you think?

Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp


More information about the pgpool-hackers mailing list