[ W skrócie ]
- Supabase to zarządzany PostgreSQL z kompletem: auth, API, storage, realtime — mniej ruchomych części w projekcie AI.
- Rozszerzenie pgvector robi z tej samej bazy magazyn embeddingów — RAG bez osobnej bazy wektorowej.
- Row Level Security pozwala pilnować dostępu do danych na poziomie wierszy — kluczowe, gdy po bazie szuka model AI.
Problem: projekt AI to zwykle pięć usług
Typowa aplikacja AI potrzebuje: bazy danych, magazynu embeddingów, autoryzacji użytkowników, przechowywania plików i jakiegoś API. Sklejanie tego z osobnych usług oznacza pięć konfiguracji, pięć rachunków i pięć miejsc awarii.
Supabase pakuje to w jedno: zarządzany PostgreSQL plus auth, storage, automatyczne API i realtime. A ponieważ to czysty Postgres, dostajesz też jego rozszerzenia — w tym najważniejsze dla AI: pgvector.
pgvector: embeddingi bez osobnej bazy
Zamiast utrzymywać dedykowaną bazę wektorową, trzymasz embeddingi w tej samej bazie co resztę danych:
create extension if not exists vector;
create table dokumenty (
id bigint primary key generated always as identity,
tresc text not null,
zrodlo text not null,
embedding vector(1536)
);
-- wyszukanie 5 fragmentow najblizszych zapytaniu
select tresc, zrodlo
from dokumenty
order by embedding <=> $1
limit 5;Do kilkuset tysięcy fragmentów (typowa skala firmowego RAG) wydajność z indeksem HNSW jest w zupełności wystarczająca — a dane, metadane i uprawnienia mieszkają razem, w jednym miejscu, z jednym backupem.
Row Level Security: dostęp na poziomie wiersza
Gdy po danych szuka model AI (albo agent), pytanie „kto może zobaczyć ten wiersz” przestaje być teoretyczne. W Postgresie odpowiada na nie RLS:
alter table dokumenty enable row level security;
create policy "dzial widzi swoje dokumenty"
on dokumenty for select
using (dzial_id = (auth.jwt() ->> 'dzial_id')::bigint);Polityka działa niezależnie od tego, kto pyta — aplikacja, użytkownik czy narzędzie agenta. To znacznie bezpieczniejszy model niż filtrowanie „na wierze” w kodzie aplikacji.
Kiedy Supabase NIE wystarczy?
- dziesiątki milionów wektorów i wyśrubowane latencje — wtedy dedykowane bazy wektorowe mają przewagę,
- ciężka analityka OLAP — to nadal domena hurtowni danych,
- wymóg infrastruktury w pełni on-premise — sam Postgres z pgvector da się hostować samodzielnie, ale tracisz „resztę” Supabase.
Dla typowych aplikacji AI w MŚP — asystent z bazą wiedzy, obieg dokumentów, narzędzia wewnętrzne — to nasz domyślny wybór zaplecza: mało ruchomych części, standardowa technologia, zero vendor locka na poziomie danych.
- Supabase
- PostgreSQL
- pgvector
- backend
- RAG

