Skip to content

Conversation

@chriscarrollsmith
Copy link
Contributor

Summary

  • Adds USE_POOL environment variable to switch between direct and pooled database connections
  • Supports pool-specific variables: DB_POOL_PORT, DB_POOL_NAME, DB_APPUSER, DB_APPUSER_PASSWORD
  • Adds DB_SSLMODE support (defaults to "prefer")
  • Validates required environment variables based on connection mode
  • Adds tests for direct mode, pooled mode, and missing variable validation
  • Documents connection pooling setup in deployment docs with Supabase example

Closes #143

Test plan

  • test_get_connection_url_direct_mode - verifies direct mode uses standard DB vars
  • test_get_connection_url_pooled_mode - verifies pooled mode uses pool-specific vars
  • test_get_connection_url_missing_direct_vars - verifies ValueError on missing direct vars
  • test_get_connection_url_missing_pool_vars - verifies ValueError on missing pool vars
  • mypy passes with no issues

🤖 Generated with Claude Code

- Add USE_POOL env var to switch between direct and pooled DB connections
- Support pool-specific vars: DB_POOL_PORT, DB_POOL_NAME, DB_APPUSER, DB_APPUSER_PASSWORD
- Add DB_SSLMODE support (defaults to "prefer")
- Validate required env vars based on connection mode
- Add tests for direct mode, pooled mode, and missing var validation
- Document connection pooling setup in deployment docs

Closes #143

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Documents how to create a database user with limited permissions
for use with pooled connections, following least-privilege principle.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document how to set up pgbouncer and manage pooled database connections

2 participants