Agent Memory Explained: Postgres Versus New
Euno raised $23M and Keewano $12M for agent memory this week. When Postgres plus pgvector wins, when events win, and how to scope memory safely.
On this page
Two agent-memory fundraises landed days apart: Euno's $23M Series A for corporate context mapping, Keewano's $12M for an event database agents reason over directly. Both agree on the problem, agents drown in 10 to 12 scattered platforms, but split on the fix. Here is how to choose without rewiring your stack.
Takeaways
Problem is real: enterprises average 10 to 12 data platforms, consolidation takes years agents do not have. Euno bet: map metadata across lakes and warehouses, scope agents by role personas, never move raw data. Keewano bet: store every event ordered with context, agents query sequences directly: 250M events under half a second. Default for builders: Postgres plus pgvector plus scoping now; event DBs only when sequence questions dominate.
What do agents actually need from memory?
Not "everything": governed, fresh, attributable context: which tables exist, who owns them, how they are defined, and what changed. Euno's insight is organizational: a finance agent sees governed KPIs, a product agent sees broader context, boundaries set centrally. Keewano's is physical: keep each entity's full event sequence together and ordered, so "why did this churn" reads off disk instead of being reconstructed.
question types:
similarity: "find notes like this" -> pgvector / LanceDB
sequence: "what led to this churn" -> ordered events / KeewanoDB
governance: "may this agent see payroll" -> personas / metadata map / RLSThe bank test
Half of banks pilot agents while regulators ask which data each agent may touch. An agent that names its governed sources and owning team passes review; one that "saw everything" does not ship.
When does Postgres win?
Similarity plus ownership
pgvector for retrieval, foreign keys for truth, row-level security for personas: one database your team already operates, with Supabase Realtime and Edge Functions on top when needed.
Freshness without a pipeline
Write-through on every write: every write updates both the row and its embedding job. pg_cron compacts nightly, expired scopes revoke automatically: no separate warehouse sync to babysit.
Audit for free
Append-only run log plus accessed_by_agent columns turn "what did it see" into a query. That is the whole Euno persona idea implemented as SQL you can explain to compliance.
When do event DBs earn their keep?
When the question is sequential and open-ended, "what behavior sequences precede cancellation," "which event patterns predict failure", and the volume breaks Postgres window functions. Keewano's no-per-event pricing exists precisely for that capture-everything workload. Until then, it is a second system to operate for questions you do not yet ask.
How do you scope memory safely?
How do role personas work in Postgres?
One view per persona joining only governed tables, RLS enforcing agent_role, metadata table recording owner and definition per source. The agent lists its sources with every answer: attribution is the access control users can see.
Should I store vectors and events together?
Store events as truth, vectors as index, joined by ID. Re-embeddings become replays, model swaps become scripts, and either half can move to a specialized store later without a rewrite.
As of September 19, 2026: memory split into two products, mapping context where it lives, or storing events built for machines. Start with Postgres plus scoping, graduate when sequence queries outgrow SQL. Then read local-first memory for the on-device version of the same pattern.