Configuration API¶
pgqrs supports flexible configuration via connection strings, environment variables, configuration files, and programmatic builders.
Basic Connection¶
Advanced Configuration¶
For fine-grained control over connection pools, schema names, and timeouts.
Configuration Sources (Rust)¶
Rust applications support hierarchical configuration loading:
- CLI Arguments
- Environment Variables
- Config File (
pgqrs.yaml) - Defaults
Configuration Fields¶
| Field | Description | Default |
|---|---|---|
dsn |
PostgreSQL connection string | Required |
schema |
Database schema name | public |
max_connections |
Connection pool size | 16 |
connection_timeout_seconds |
Timeout for acquiring connection | 30 |
default_lock_time_seconds |
Default message visibility timeout | 5 |
Environment Variables¶
| Variable | Description |
|---|---|
PGQRS_DSN |
Connection string |
PGQRS_SCHEMA |
Schema name |
PGQRS_MAX_CONNECTIONS |
Pool size |
Python Environment Usage¶
import os
import pgqrs
dsn = os.environ.get("PGQRS_DSN", "postgresql://localhost/mydb")
store = await pgqrs.connect(dsn)
SSL/TLS¶
Secure connections are configured via the DSN parameters.
postgresql://user:pass@host/db?sslmode=require
| Mode | Description |
|---|---|
disable |
No SSL |
prefer |
Try SSL, fall back to plain |
require |
Encrypt, do not verify cert |
verify-ca |
Verify server certificate |
verify-full |
Verify cert and hostname |