It means at the start of the container lifecycle, the pool will be at 0. As load increases, the connection pool will grow according to demand. Eventually, if enough time passes without a call to a particular connection, that connection will 'reaped'. This will continue until the pool shrinks back to 0. It would only shrink back to 0 if there are no requests for that connection for the lifetime of that connection. The template examples give you all the control parameters for a connection pool.
The connection pool will increase your performance under steady state load and give you an advantage on ramp up. That is balanced against the cost of maintaining x open connections to your DB. On postgresql, you can monitor the number of connections (postmaster processes when doing a ps).