Postgres connection churn

datastores:
default:
sql: &postgresql_config
pluginName: postgres
databaseName: temporal
connectAddr: postgres.example.com:5432
connectProtocol: tcp
maxConns: 20
maxIdleConns: 20
maxConnLifetime: “30m”

We are using the following properties on our 8 history clusters
and when we are running above 50 workflows per second we are noticing

A lot of connections are getting closed very frequently some less than 2 seconds.

and we believe in making those new connections, it’s taking some time and not able to run at it’s max capacity

is there any property called “keepAlive” we can use ?
or any other better suggestion from the community ?