Comparison

retainr vs Supabase Memory: AI Agent Memory Without the Database Work

Supabase with pgvector is a powerful option — but it requires schema design, SQL, embedding API calls, and RLS policy configuration. retainr gives n8n, Make.com, and Zapier users the same pgvector-backed semantic memory with zero setup. Two API calls. No database.

Feature comparison

FeatureretainrSupabase pgvector
Setup time30 seconds30-90 minutes
Schema requiredNoYes (SQL table + pgvector)
Code requiredNoYes (SQL queries or JS SDK)
n8n node✓ Community node✗ No native memory node
Make.com module✓ HTTP module✓ Supabase module (limited)
Semantic search✓ pgvector HNSW✓ pgvector (manual setup)
Multi-user isolation✓ Built-in (RLS)✓ Manual RLS policies
TTL / auto-expiry✓ Per-memory TTL✗ Manual cleanup jobs
Embedding generation✓ AutomaticManual (OpenAI API call)
Free plan✓ 1,000 ops/mo✓ Free tier (500MB DB)
Target userNo-code buildersDevelopers

When to use Supabase pgvector

  • Already using Supabase as your app database
  • Need SQL joins between memory vectors and app data
  • Want data to live in your own Supabase project
  • Team has engineering capacity for schema maintenance

When to use retainr

  • Building on n8n, Make.com, or Zapier without writing code
  • Want semantic memory working today, not after a sprint
  • Need automatic embedding generation included
  • Want TTL-based memory expiry without cron jobs

retainr vs Supabase Memory — frequently asked questions

What is Supabase pgvector and how is it used for AI memory?
Supabase is a managed Postgres hosting service with pgvector enabled by default. You can store AI memory as vector embeddings in a Supabase table, then query it with semantic similarity search using SQL. This requires designing the schema, calling an embedding API (like OpenAI) to generate vectors, writing the SQL search query, and managing multi-tenant data isolation with RLS policies.
How does retainr compare to using Supabase pgvector directly?
Supabase pgvector gives you full control over your data at the cost of setup complexity. retainr abstracts all of that — the embedding generation, schema design, HNSW index, and RLS policies are managed for you. For n8n, Make.com, and Zapier users who want to add memory without engineering work, retainr is the faster path. For teams who need data residency or custom schema, Supabase may be worth the complexity.
Is there a Supabase memory node for n8n?
n8n has a Supabase node for CRUD operations, but it does not include a semantic memory workflow. You would need to combine the Supabase node with a separate embedding API call and a custom SQL query via HTTP Request. retainr's community node (n8n-nodes-retainr) provides the full memory workflow — search and store — as dedicated nodes with no custom SQL.
Does retainr use Supabase internally?
No. retainr runs its own managed Postgres instance with pgvector on Hetzner Cloud (EU). The data architecture is similar — pgvector with HNSW indexing and row-level security — but operated independently of Supabase. See retainr.dev/blog/pgvector-vs-pinecone-for-ai-agents for the technical rationale.
When should I choose Supabase over retainr?
Choose Supabase when: you need to self-host your vector data in your own Supabase project, you want to join memory vectors with other application data in SQL, you are already using Supabase for your app database, or you need full control over schema and indexing parameters. Choose retainr when you need semantic memory working in under an hour without writing SQL or managing a database.
Can I migrate from Supabase pgvector to retainr?
Yes. Export your memory rows from Supabase as plain text (the content column, not the embeddings). POST each row to retainr via POST /v1/memories with the namespace matching your user ID scheme. retainr regenerates the embeddings automatically. You can delete the pgvector columns from Supabase afterward.

pgvector-backed memory — zero database setup

1,000 memory operations per month. Works with n8n, Make.com, and Zapier out of the box.

Start free