PgBouncer Connection Pool
β Healthy vunknown π€ Infrastructure Team
Overview
PostgreSQL connection pooler for efficient database connection management and improved performance.
Manages database connection pooling to reduce overhead and improve query performance across all services.
π¦ Source Repository
Key Features
-
Connection pooling
-
Query routing
-
Connection reuse
-
Load balancing
Architecture
Lightweight connection pooler reducing PostgreSQL connection overhead
System Overview
%%{init: {
'theme': 'dark',
'themeVariables': {
'primaryColor': '#db41f6',
'primaryBorderColor': '#e066f7',
'primaryTextColor': '#ffffff',
'secondaryColor': '#1a0f2e',
'tertiaryColor': '#0f0a1a',
'lineColor': '#22c55e',
'fontSize': '14px'
}
}}%%
flowchart TB
subgraph EXTERNAL["π External"]
CLIENT[/"π€ Clients"/]
INGRESS["πͺ Ingress"]
end
subgraph NS["valina-db Namespace"]
direction TB
subgraph SVC["π¦ PgBouncer Connection Pool"]
DEPLOY["βοΈ Deployment<br/>2 replicas"]
subgraph PODS["Pods"]
POD0["Pod 1"]
POD1["Pod 2"]
end
end
end
CLIENT --> INGRESS --> DEPLOY
Component Architecture
%%{init: {
'theme': 'dark',
'themeVariables': {
'primaryColor': '#db41f6',
'primaryBorderColor': '#e066f7',
'primaryTextColor': '#ffffff',
'secondaryColor': '#1a0f2e',
'tertiaryColor': '#0f0a1a',
'lineColor': '#22c55e',
'fontSize': '14px'
}
}}%%
flowchart TB
subgraph ARCH_CLIENT["π§ Client Layer"]
ARCH_USER[/"User Interaction"/]
end
subgraph ARCH_CORE["π PgBouncer Connection Pool Core"]
direction TB
subgraph ARCH_FEATURES["β¨ Features"]
ARCH_F0["Connection pooling"]
ARCH_F1["Query routing"]
ARCH_F2["Connection reuse"]
ARCH_F3["Load balancing"]
end
subgraph ARCH_PROCESS["βοΈ Processing"]
ARCH_HANDLER["Request Handler"]
ARCH_LOGIC["Business Logic"]
end
end
ARCH_USER --> ARCH_CORE
ARCH_HANDLER --> ARCH_LOGIC
Container Details
| Property | Value |
|---|---|
| Image | pgbouncer/pgbouncer:1.22.0 |
| Replicas | 2 / 2 ready |
| CPU Request | 50m |
| CPU Limit | 200m |
| Memory Request | 128Mi |
| Memory Limit | 256Mi |
Volume Mounts
| Volume | Mount Path |
|---|---|
| userlist β /etc/pgbouncer/userlist.txt |
Flows and Processes
Process Flow
%%{init: {
'theme': 'dark',
'themeVariables': {
'primaryColor': '#db41f6',
'primaryBorderColor': '#e066f7',
'primaryTextColor': '#ffffff',
'secondaryColor': '#1a0f2e',
'tertiaryColor': '#0f0a1a',
'lineColor': '#22c55e',
'fontSize': '14px'
}
}}%%
flowchart LR
subgraph FLOW_IN["π₯ Input"]
GEN_REQ["π₯ Request"]
GEN_CONFIG["βοΈ Config"]
GEN_CONTEXT["π Context"]
end
subgraph FLOW_PROC["βοΈ Processing"]
GEN_RECEIVE["π¨ Receive"]
GEN_PROCESS["βοΈ PgBouncer Connection Pool"]
GEN_RESPOND["π€ Prepare Response"]
end
subgraph FLOW_OUT["π€ Output"]
GEN_RES["π¦ Response"]
GEN_LOG["π Log"]
GEN_METRICS["π Metrics"]
end
GEN_REQ --> GEN_RECEIVE
GEN_CONFIG --> GEN_PROCESS
GEN_CONTEXT --> GEN_PROCESS
GEN_RECEIVE --> GEN_PROCESS --> GEN_RESPOND
GEN_RESPOND --> GEN_RES
GEN_RESPOND --> GEN_LOG
GEN_PROCESS --> GEN_METRICS
Request Lifecycle
%%{init: {
'theme': 'dark',
'themeVariables': {
'primaryColor': '#db41f6',
'primaryBorderColor': '#e066f7',
'primaryTextColor': '#ffffff',
'secondaryColor': '#1a0f2e',
'tertiaryColor': '#0f0a1a',
'lineColor': '#22c55e',
'fontSize': '14px'
}
}}%%
sequenceDiagram
autonumber
participant C as π€ Client
participant I as πͺ Ingress
participant S as βοΈ PgBouncer Connection Pool
C->>+I: HTTP Request
I->>+S: Route to Service
Note over S: Health Check β
S-->>-I: Response
I-->>-C: HTTP Response
Custom Flows
-
Connection Request
-
Pool Check
-
Query Forward
-
Result Return
Integration and APIs
Exposed Ports
| Port | Service |
|---|---|
| pgbouncer:6432 | pgbouncer |
| metrics:9127 | pgbouncer |
Dependencies
| Service | Purpose |
|---|---|
| PostgreSQL | Dependency |
Security and Compliance
Security Context
| Setting | Value |
|---|---|
| Security Level | Restricted |
| Run as Non-Root | β Yes |
| Read-Only Root FS | β No |
| Service Account | pgbouncer-sa |
Dropped Capabilities
ALL
Security Best Practices
Restricted Security
This service has some security hardening but could be improved.
Monitoring and Operations
Health Probes
Readiness Probe
| Setting | Value |
|---|---|
| Endpoint | TCP:6432 |
| Initial Delay | 5s |
| Period | 5s |
| Timeout | 3s |
Liveness Probe
| Setting | Value |
|---|---|
| Endpoint | TCP:6432 |
| Initial Delay | 10s |
| Period | 10s |
| Timeout | 5s |
No Prometheus metrics configured. Add prometheus.io/scrape: "true" annotation.
Operations Commands
# Check deployment status
kubectl get deployment pgbouncer -n valina-db
# View logs
kubectl logs -l app.kubernetes.io/name=pgbouncer -n valina-db -f
# Scale replicas
kubectl scale deployment/pgbouncer -n valina-db --replicas=3
# Restart deployment
kubectl rollout restart deployment/pgbouncer -n valina-db
π§ AI-Powered Diagnostics
π§ Diagnostics
β No issues detected
π SLO Dashboard
| SLO | Target | Current | Error Budget | Status |
|---|---|---|---|---|
| π’ Availability | 99.9% | 99.95% | 85% remaining | β Meeting |
| β‘ Latency P99 | < 200ms | 142ms | 92% remaining | β Meeting |
| π΄ Error Rate | < 0.1% | 0.02% | 98% remaining | β Meeting |
π Live Metrics
π Security Scan
Security Status: Passing
Last scanned: 2026-01-12 10:00 UTC Scanner: Trivy v0.50.0
π₯ RBAC & Permissions
| Resource | Permissions | Scope |
|---|---|---|
| ServiceAccount | pgbouncer-sa |
Namespace |
| ClusterRole | view |
Cluster-wide (read) |
Pod Security Standards
| Policy | Status |
|---|---|
| Privileged | β Denied |
| Run as Root | β Blocked |
| Host Network | β Blocked |
| Host PID | β Blocked |
π API Documentation
No OpenAPI Spec
Add API documentation via annotation: valina.ai/openapi-url: "https://..."
π Version History
β‘ Latency Heatmap
24-Hour Latency Heatmap
π Active Alerts
π Traffic Flow
π₯ Inbound Traffic
π€ Outbound Traffic
π° Cost Attribution
Resource Breakdown
π Runbooks
Steps to diagnose and mitigate high CPU consumption
Troubleshooting guide for latency spikes
Investigation steps for frequent pod restarts
π On-Call
π Change Timeline
π€ Canary Status
π΄ Error Drill-down
β‘ Quick Actions
Configuration Reference
Labels
| Label | Value |
|---|---|
app |
pgbouncer |
app.kubernetes.io/component |
connection-pooler |
app.kubernetes.io/name |
pgbouncer |
Environment Variables
| Variable | Value |
|---|---|
PGBOUNCER_ADMIN_USERS |
postgres |
PGBOUNCER_AUTH_FILE |
/etc/pgbouncer/userlist.txt |
PGBOUNCER_AUTH_TYPE |
plain |
PGBOUNCER_DEFAULT_POOL_SIZE |
50 |
PGBOUNCER_IGNORE_STARTUP_PARAMETERS |
extra_float_digits |
PGBOUNCER_LISTEN_PORT |
6432 |
PGBOUNCER_MAX_CLIENT_CONN |
1000 |
PGBOUNCER_MAX_DB_CONNECTIONS |
100 |
PGBOUNCER_MIN_POOL_SIZE |
5 |
PGBOUNCER_POOL_MODE |
session |
PGBOUNCER_RESERVE_POOL_SIZE |
5 |
PGBOUNCER_STATS_USERS |
postgres |
SERVER_TLS_SSLMODE |
require |
Annotations
| Annotation | Value |
|---|---|
valina.ai/architecture |
Lightweight connection pooler reducing PostgreSQL connection⦠|
valina.ai/dependencies |
postgresql |
valina.ai/dependents |
valina-rust-backend,game-backend |
valina.ai/features |
Connection Pooling,Transaction Mode,Query Logging,Health Che⦠|
valina.ai/flows |
Connection Request,Pool Check,Query Forward,Result Return |
valina.ai/owner |
@3xzyle |
valina.ai/purpose |
PostgreSQL connection pooler for efficient database connecti⦠|
valina.ai/repository |
https://github.com/3xzyle/VALINA-AI |
Related Resources
-
π Service Index
View all documented services
-
π System Status
Live health dashboard
-
π·οΈ Infrastructure
Other services in this category
Auto-Generated Documentation
This documentation was auto-generated from Kubernetes deployment metadata.
Enhance this doc by adding annotations:
annotations:
valina.ai/description: "Detailed service description"
valina.ai/purpose: "Service purpose statement"
valina.ai/features: "Feature 1, Feature 2, Feature 3"
valina.ai/flows: "Auth Flow, Data Processing Flow"
valina.ai/dependencies: "redis, postgres, auth-service"
valina.ai/api-endpoints: "/api/v1/resource, /health"
valina.ai/economics: "Ties to GRAT treasury via..."
valina.ai/owner: "Platform Team"
valina.ai/repository: "https://github.com/org/repo"
valina.ai/changelog: "v1.2.0 Added feature X, v1.1.0 Initial release"
valina.ai/roadmap: "SSO integration, Multi-region support"
valina.ai/notices: "Requires v2.0 by Q2 2026"
Created: 2026-01-06T04:58:32Z | Generated: 2026-01-14T06:44:07.382113666+00:00