PostgresConnectionPool
A simple connection pool on top of PostgresNIO.
Installation with Swift Package Manager
dependencies: [
.package(url: "https://github.com/Outdooractive/PostgresConnectionPool.git", from: "0.1.0"),
],
targets: [
.target(name: "MyTarget", dependencies: [
.product(name: "PostgresConnectionPool", package: "PostgresConnectionPool"),
]),
]
Usage
import PostgresConnectionPool
import PostgresKit
var logger = Logger(label: "TestApp")
logger.logLevel = .debug
let connection = PoolConfiguration.Connection(
username: "testuser",
password: "testpassword",
host: "postgres",
port: 5432,
database: "test")
let configuration = PoolConfiguration(
applicationName: "TestApp",
connection: connection,
connectTimeout: 10.0,
queryTimeout: 60.0,
poolSize: 5)
let pool = PostgresConnectionPool(configuration: configuration, logger: logger)
// Fetch a connection from the pool and do something with it...
try await pool.connection(callback: { connection in
try await connection.query(PostgresQuery(stringLiteral: "SELECT 1"), logger: logger)
})
Contributing
Please create an issue or open a pull request with a fix.
License
MIT
Author
Thomas Rasch, Outdooractive