Crates.io | qm-pg |
lib.rs | qm-pg |
version | 0.0.60 |
created_at | 2024-03-28 04:08:55.241355+00 |
updated_at | 2025-08-11 12:10:40.762899+00 |
description | PostgreSQL helper functions |
homepage | |
repository | https://github.com/hd-gmbh-dev/quick-microservice-rs |
max_upload_size | |
id | 1188711 |
size | 68,143 |
qm-pg
utilities to work with the PostgreSQL database
With this crate it is easy to get a PostgreSQL configuration with the most common settings.
let pgdb = qm::pg::DB::new("example", &qm::pg::DbConfig::new()?).await?;
The Config
is populated with environment variables. By default, all variables with the prefix
PG_
are considered.
The prefix can be changed by using a builder pattern.
let example_config = qm::pg::DbConfig::builder().with_prefix("EXAMPLE_").build()?;
These variables are available and are set with the following defaults.
variable | struct field | default |
---|---|---|
PG_HOST | host | "127.0.0.1" |
PG_PORT | port | 5432 |
PG_MAX_CONNECTIONS | max_connections | 32 |
PG_MIN_CONNECTIONS | min_connections | 0 |
PG_ACQUIRE_TIMEOUT | acquire_timeout | 30 |
PG_IDLE_TIMEOUT | idle_timeout | 10 * 60 |
PG_MAX_LIFETIME | max_lifetime | 30 * 60 |
PG_USERNAME | username | |
PG_PASSWORD | password | |
PG_DATABASE | database | |
PG_ROOT_USERNAME | root_username | |
PG_ROOT_PASSWORD | root_password | |
PG_ROOT_DATABASE | root_database | |
PG_SHARDED | sharded | false |
address | With credentials: postgresql://{username}:{password}@{host}:{port}/ ;With username: postgresql://{username}@{host}:{port}/ ;Without: postgresql://{host}:{port}/ ;If provided, database will be appended |
|
root_address | With credentials: postgresql://{root_username}:{root_password}@{host}:{port}/ ;With username: postgresql://{root_username}@{host}:{port}/ ;Without: postgresql://{host}:{port}/ ;If provided, root_database will be appended |