3. Configuration¶
3.1. Database Configuration¶
wpostgresql uses a simple dictionary-based configuration system:
db_config = {
"dbname": "your_database",
"user": "your_user",
"password": "your_password",
"host": "localhost",
"port": 5432,
}
3.2. Environment Variables¶
You can also use environment variables:
import os
import wpostgresql
db_config = {
"dbname": os.getenv("POSTGRES_DB", "mydb"),
"user": os.getenv("POSTGRES_USER", "user"),
"password": os.getenv("POSTGRES_PASSWORD", "password"),
"host": os.getenv("POSTGRES_HOST", "localhost"),
"port": int(os.getenv("POSTGRES_PORT", 5432)),
}
3.3. Connection Pool Configuration¶
wpostgresql automatically manages connection pooling:
from wpostgresql.core.connection import ConnectionPool
pool = ConnectionPool(
"dbname=test user=admin password=secret",
min_size=2,
max_size=20,
)
3.4. SSL Configuration¶
For secure connections:
db_config = {
"dbname": "mydb",
"user": "user",
"password": "pass",
"host": "localhost",
"sslmode": "require",
}
3.5. Testing Configuration¶
Use a separate test database:
import os
test_config = {
"dbname": "test_" + os.getenv("POSTGRES_DB", "mydb"),
"user": os.getenv("POSTGRES_USER"),
"password": os.getenv("POSTGRES_PASSWORD"),
"host": os.getenv("POSTGRES_HOST", "localhost"),
}