Connections Pool Management
Management statements to manage the external connections pool.
This connection pool is part of the Firebird server and used for connections to other databases or servers from the Firebird server itself.
Management statements to manage the external connections pool.
This connection pool is part of the Firebird server and used for connections to other databases or servers from the Firebird server itself.
ALTER EXTERNAL CONNECTIONS POOL
Manages the external connections pool
ALTER EXTERNAL CONNECTIONS POOL { CLEAR ALL | CLEAR OLDEST | SET LIFETIME lifetime <time-unit> | SET SIZE size } <time-unit> ::= SECOND | MINUTE | HOUR
Parameter | Description |
---|---|
lifetime |
Maximum lifetime of a connection in the pool.Minimum values is |
size |
Maximum size of the connection pool.Range 0 - 1000.Setting to |
When prepared it is described like a DDL statement, but its effect is immediate — it is executed immediately and to completion, without waiting for transaction commit.
This statement can be issued from any connection, and changes are applied to the in-memory instance of the pool in the current Firebird process.If the process is Firebird Classic, execution only affects the current process (current connection), and does not affect other Classic processes.
Changes made with ALTER EXTERNAL CONNECTIONS POOL
are not persistent: after a restart, Firebird will use the pool settings configured in firebird.conf
by ExtConnPoolSize
and ExtConnPoolLifeTime
.
ALTER EXTERNAL CONNECTIONS POOL
CLEAR ALL
Closes all idle connections and disassociates currently active connections;they are immediately closed when unused.
CLEAR OLDEST
Closes expired connections
SET LIFETIME
Configures the maximum lifetime of an idle connection in the pool.The default value (in seconds) is set using the parameter ExtConnPoolLifetime
in firebird.conf
.
SET SIZE
Configures the maximum number of idle connections in the pool.The default value is set using the parameter ExtConnPoolSize
in firebird.conf
.
Every successful connection is associated with a pool, which maintains two lists — one for idle connections and one for active connections.When a connection in the “active” list has no active requests and no active transactions, it is assumed to be “unused”.A reset of the unused connection is attempted using an [fblangref50-management-session-reset-alter] statement and,
if the reset succeeds (no errors occur) the connection is moved into the “idle” list;
if the reset fails, the connection is closed;
if the pool has reached its maximum size, the oldest idle connection is closed.
When the lifetime of an idle connection expires, it is deleted from the pool and closed.