David Kremer wrote:
> I have an API server and I'm trying to be conscientious managing Postgres's
> resources carefully. On the client side, I have a Hikari Pool.
>
> Usually when I need a connection, I simply create a default read/write connection,
> even if I don't plan to make any updates or inserts or hold any locks.
> But most of my database connections are in fact read-only.
>
> I saw that when you create a JDBC connection, you can specify readOnly=true.
> Would doing so somehow help Postgres manage its other connections? Perhaps Postgres,
> knowing that a connection is readOnly and will never even attempt to do an update,
> will free up some internal resources for other connections. Is this accurate?
It won't free any resources, but it is still a good idea if you use the SERIALIZABLE
isolation level.
https://www.postgresql.org/docs/current/transaction-iso.html#XACT-SERIALIZABLE:
For optimal performance when relying on Serializable transactions for concurrency
control, these issues should be considered:
- Declare transactions as READ ONLY when possible.
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com