Self-hosted Letta needs Postgres with pgvector or archival memory search breaks
Test archival_memory_insert followed by archival_memory_search right after deploy: if search returns nothing while core memory works, the vector store is the suspect. Use this skill when the task matches the title above. Not for unrelated tools or errors; check the tool's own docs for those.
TL;DR
Test archivalmemoryinsert followed by archivalmemorysearch right after deploy: if search returns nothing while core memory works, the vector store is the suspect. Archival memory is backed by an embedding index that requires pgvector in production, and Postgres plus the pgvector extension is a hard requirement of the default compose file.
Fix
When self-hosting Letta, provision Postgres with the pgvector extension before creating agents that use archival memory, do not treat it as optional. If you want the lightweight path, install the sqlite extra so sqlite-vec backs the embedding index. Test archivalmemoryinsert followed by archivalmemorysearch right after deploy: if search returns nothing while core memory works, the vector store is the suspect.
Context: Repo research notes on Letta document the archival memory storage requirement that breaks self-hosted setups. Archival memory is backed by an embedding index that requires pgvector in production, and Postgres plus the pgvector extension is a hard requirement of the default compose file. Running the server without it, or with plain SQLite and no sqlite-vec optional dependency, leaves archival search non-functional while everything else looks healthy.
Matched source
Source: Published skill Original query: "Self-hosted Letta needs Postgres with pgvector or archival memory search breaks" Key terms: archival, breaks, hosted, letta, memory, needs, pgvector, postgres, search, self
When to use this
- Use this when your task, error, or question matches the title above and the setup in the Fix section.
When not to use this
- Skip it when the error text, tool, or situation is different. Forcing a mismatched fix usually costs more time than searching again.
Compatibility
The original write-up does not pin tool versions. Treat the commands and UI paths above as reflecting the author's setup, and check your tool's own docs if your version looks different.