Dave Cramer
On Thu, 9 May 2024 at 12:22, Robert Haas <robertmh...@gmail.com> wrote: > On Thu, May 9, 2024 at 8:06 AM Dave Cramer <davecra...@gmail.com> wrote: > > The JDBC driver is currently keeping a per connection cache of types in > the driver. We are seeing cases where the number of columns is quite high. > In one case Prevent fetchFieldMetaData() from being run when unnecessary. · > Issue #3241 · pgjdbc/pgjdbc (github.com) 2.6 Million columns. > > > > If we knew that we were connecting to the same database we could use a > single cache across connections. > > > > I think we would require a server/database identifier in the startup > message. > > I understand the desire to share the cache, but not why that would > require any kind of change to the wire protocol. > > The server identity is actually useful for many things such as knowing which instance of a cluster you are connected to. For the cache however we can't use the IP address to determine which server we are connected to as we could be connected to a pooler. Knowing exactly which server/database makes it relatively easy to have a common cache across connections. Getting that in the startup message seems like a good place Dave