Skip to main content
PostgreSQL stores use Drizzle ORM for production-grade persistence with full SQL capabilities. Recommended for multi-server deployments and teams.

What’s Included

When storage: "postgres" is set, Polpo creates all 11 stores via @polpo-ai/drizzle — the same set as SQLite, backed by PostgreSQL instead.

Pros and Cons

Pros: Horizontally scalable, battle-tested in production, supports multiple orchestrator instances, rich querying, standard backups and monitoring. Cons: Requires a running PostgreSQL instance. More operational overhead than SQLite or File stores.

When to Use

ScenarioRecommended?
Production deploymentYes
Multiple orchestrator instancesYes
Team / enterprise useYes
Development / prototypingOptional — File or SQLite is simpler

Configuration

Set the storage backend and database URL in .polpo/polpo.json:
{
  "settings": {
    "storage": "postgres",
    "databaseUrl": "postgres://user:password@localhost:5432/polpo"
  }
}
Polpo creates all tables automatically on startup via ensurePgSchema().

Dependencies

PostgreSQL support requires two additional packages:
npm install @polpo-ai/drizzle postgres