Before we get into the details of setting up specific database platforms, it is worth having a conversation about database connection pooling, what it is, and why we should care about it.
If database connection pooling was not utilized, every time GeoServer receives a request for the data stored in a spatial database, the following sequence of events occurs:
A connection to the database is made
SQL commands are executed to select data
The results from the query are read and processed
The database connection is closed
A lot of things happen to fetch some data to be rendered (WMS) or processed and streamed (WFS). Consider this happening for a lot of requests, and you can imagine things getting very busy with connections being opened and closed all the time. A lot of the connections from GeoServer to spatial databases are short-lived; in most cases, they might only need to gather a few hundred features. This means that the opening...