> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Databases Overview

> Supported database backends for PraisonAI

# Databases Overview

PraisonAI supports 22 database backends across three categories.

## Installation

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
pip install "praisonaiagents[tools]"
```

## Conversation Stores (6)

Store conversation history and session data.

| Database | Backend Key | Docker Command |
| - | - | - |
| PostgreSQL | `postgres` | `docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=pass postgres:16` |
| MySQL | `mysql` | `docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pass mysql:8` |
| SQLite | `sqlite` | No setup needed |
| SingleStore | `singlestore` | Cloud service |
| Supabase | `supabase` | Cloud service |
| SurrealDB | `surrealdb` | `docker run -d -p 8000:8000 surrealdb/surrealdb` |

## Knowledge Stores (10)

Vector databases for semantic search and RAG.

| Database | Backend Key | Docker Command |
| - | - | - |
| Qdrant | `qdrant` | `docker run -d -p 6333:6333 qdrant/qdrant` |
| ChromaDB | `chroma` | Local file storage |
| Pinecone | `pinecone` | Cloud service |
| Weaviate | `weaviate` | `docker run -d -p 8080:8080 semitechnologies/weaviate` |
| LanceDB | `lancedb` | Local file storage |
| Milvus | `milvus` | `docker run -d -p 19530:19530 milvusdb/milvus` |
| PGVector | `pgvector` | PostgreSQL + pgvector extension |
| Redis Vector | `redis` | `docker run -d -p 6379:6379 redis/redis-stack` |
| Cassandra | `cassandra` | `docker run -d -p 9042:9042 cassandra` |
| ClickHouse | `clickhouse` | `docker run -d -p 8123:8123 clickhouse/clickhouse-server` |

## State Stores (6)

Key-value stores for session state and caching.

| Database | Backend Key | Docker Command |
| - | - | - |
| Redis | `redis` | `docker run -d -p 6379:6379 redis:7` |
| MongoDB | `mongodb` | `docker run -d -p 27017:27017 mongo` |
| DynamoDB | `dynamodb` | AWS service |
| Firestore | `firestore` | GCP service |
| Upstash | `upstash` | Cloud service |
| Memory | `memory` | In-process (no persistence) |

## Quick Start

The simplest way to add persistence to your agent:

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent

# Create agent with database persistence
agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant.",
    memory={
        "db": "postgresql://localhost/praisonai",
        "session_id": "my-session"
    }
)

response = agent.start("Hello!")
print(response)
```

## Backend Examples

<CodeGroup>
  ```python PostgreSQL theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  from praisonaiagents import Agent

  agent = Agent(
      name="Bot",
      memory={"db": "postgresql://user:pass@localhost:5432/mydb"}
  )
  response = agent.start("Hello!")
  ```

  ```python SQLite theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  from praisonaiagents import Agent

  agent = Agent(
      name="Bot",
      memory={"db": "conversations.db"}
  )
  response = agent.start("Hello!")
  ```

  ```python MySQL theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  from praisonaiagents import Agent

  agent = Agent(
      name="Bot",
      memory={"db": "mysql://user:pass@localhost:3306/mydb"}
  )
  response = agent.start("Hello!")
  ```
</CodeGroup>

## Next Steps

* [PostgreSQL](/docs/databases/postgres) - Production conversation store
* [Qdrant](/docs/databases/qdrant) - Vector search
* [Redis](/docs/databases/redis) - State and caching


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.