Quick Start
How It Works
PostgreSQL stores data in optimized tables with advanced features:| Table | Features | Benefits |
|---|---|---|
conversations | JSONB metadata, indexes | Fast metadata queries |
messages | Full-text search, timestamps | Searchable conversation history |
runs | Execution tracking, performance stats | Agent monitoring |
tool_calls | JSON tool parameters | Rich tool usage analytics |
Configuration Options
Database URL Formats
Advanced PostgreSQL Configuration
Docker Setup
Quick PostgreSQL setup with Docker:Advanced Queries and Analytics
PostgreSQL enables powerful analytics on conversation data:High Availability Setup
For production deployments with high availability:Migration from SQLite
Migrate existing SQLite data to PostgreSQL:Best Practices
Connection Management
Connection Management
- Use connection pooling in production (pool_size=10-20)
- Configure appropriate timeouts for your use case
- Monitor connection pool metrics
- Use persistent connections for long-running applications
Performance Optimization
Performance Optimization
- Create indexes on frequently queried columns (session_id, created_at)
- Use EXPLAIN ANALYZE to optimize slow queries
- Consider partitioning large tables by date
- Use read replicas for analytics workloads
Security
Security
- Always use SSL connections in production (sslmode=require)
- Use environment variables for credentials
- Implement database user permissions (read-only for analytics)
- Regular security updates and patches
Backup and Recovery
Backup and Recovery
- Set up automated daily backups with pg_dump
- Test backup restoration procedures regularly
- Use point-in-time recovery for critical applications
- Consider cross-region backup replication
Related
MySQL Persistence
Alternative SQL database option with different strengths
Database Persistence Overview
Compare all available persistence backends

