Always initialize with the "QueryBuilder" and "QueryCompiler" objects, which extend the base 'lib/query/builder' and 'lib/query/compiler', respectively.
Lazy load the pg dependency, since we might just be using the client to generate SQL strings.
Attach a Formatter constructor to the client object.
Attaches the Raw constructor to the client object.
Attaches the Transaction constructor to the client object.
Attaches QueryBuilder and QueryCompiler constructors
to the client object.
Initializes a new pool instance for the current client.
Initialize the query "runner"
Lazy-load the schema dependencies; we may not need to use them.
Lazy-load the migration dependency
Prep the bindings as needed by PostgreSQL.
Get a raw connection, called by the pool whenever a new
connection needs to be added to the pool.
Used to explicitly close a connection, called internally by the pool when a connection times out or the pool is shutdown.
In PostgreSQL, we need to do a version check to do some feature checking on the database.
PostgreSQL