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