Semua tentang Supabase
October 16, 2025

Gais, tahukah kamu kalau Supabase itu bukan sekadar backend-as-a-service biasa?
Di balik tampilannya yang simpel, Supabase berdiri di atas PostgreSQL full power, artinya, semua fitur native dari Postgres bisa kamu pakai langsung!
Buat kamu yang sedang bangun web atau aplikasi modern, paham ekosistem Supabase berarti bisa mendapat performa tinggi, keamanan kuat, dan skalabilitas tanpa ribet bikin backend dari nol.
Mulai dari database, autentikasi, file storage, realtime, sampai AI embedding, semuanya udah disiapin rapi oleh Supabase.
Jadi di tulisan ini, kita bakal deep dive bareng fitur-fitur utama Supabase, dari dasar sampai yang canggih banget:
mulai dari PostgreSQL core, Auth system, Storage, Realtime, Edge Function, RPC, sampai Vector AI Search.
1. PostgreSQL Core(database)
Schema & table
Pemisahan ruang data
Public
Auth
Storage
Indexing & Search
Optimasi query & pencari fuzzy
GIN
btree
pg_trgm
full-text search
Functions & Triggers
Menjalankan logika di server
plpsql
sql
plv8
Constraints & Defaults
Validasi integritas data
check
unique
foreign key
default now()
Views & Materialized Views
Untuk query kompleks & caching
create view
create
materialized view
Extensions
Nambahin kemampuan bawaan
pg_trgm
uuid-ossp
pgvector
postgis
ltree
citext
RLS(Row Level Security)
Filter otomatis per user
enable row level security
policy
Event Triggers/LISTEN-NOTIFY
Untuk sistem event driver
notify
listen
2. Supabase Auth (Authentication & User System)
auth.users
Tabel utama semua user (id, email, hashed password, metadata)
auth.identities
Detail provider login(google, github, email, dll)
auth.sessions
Token/refresh info
Triggers internal
Sinkronisasi login, signup, revoke token
JWT & claims
Tiap request pakai supabase-js akan punya auth.uid() dan auth.role()
Row Level Integration
auth.uid() bisa dipakai di RLS policy untuk nyocok user_id
3. Supabase Storage
Object storage built-in(mirip AWS S3 tapi postgres aware)
- Data file disimpan di bucket
- Metadatanya tersimpan di tabel storage.objects
- Bisa di RLS juga (enable row level security on storage objects)
- Bisa disinkronkan ke profile user, atau folder private/public
Contoh: file avatar bisa diupload ke bucket avatars/ dengan URL publik
4. Supabase Realtime
Realtime = listener berbasis WebSocket yang subscribe ke perubahan data tabel.
Secara internal pakai postgres logical replication (wal2json plugin)
- Tiap insert/update/delete bisa dipublish ke client realtime.
- Cocok untuk live dashboards, chat leaderboard, dan game.
Di supabase dashboard, tinggal aktifikan "realtime", terus pilih tael mana yang pengen di-stream
5. Edge functions (serverless)
Supabase punya edge functions (Deno runtime)
Ini mirip AWS lambda tapi di pinggir jaringan (low latency)
- Ditulis pakai typescript (Deno)
- Dipanggil dari client via supabase.functions.invoke('nama-fungsi', { body })
- Bisa akses supabase client-side dengan service-role untuk operasi privileged
- Cocok untuk logika yang gak efisien kalau dikerjakan di client (misalnya join berat, integrasi API, billing, dll)
6. Supabase RPC (Remote Procedure Calls)
Fitur ini memungkinkan fungsi postgres (create function ... returns ... ) dipanggil langsung lewat REST atau SDK.
create function public.search_startups(keyword text)
returns setof public.startups as $$
select * from public.startups
where name ilike '%' || keyword || '%';
$$language sql stable;
bisa dipanggil dari frontend:
supabase.rpc('search_startups', { keyword: 'robot'})
Kelebihannya: tetap di server postgres, aman oleh RLS, cepat.
7. Supabase Vector (AI/Embedding Search)
extensions pgvector bawaan: CREATE EXTENSIONS IF NOT EXISTS vector;
gunanya buat simpan & cari embedding AI:
create table documents (
id bigserial primary key,
context text,
embedding vector(1536)
)
lalu query nearest neighbor
select id, content
from documents
order by embedding <->'[0.2, 0.5, ...]'
limit 5;
Kamu bisa pakai buat sistem rekomendasi, chatbot retrieval, atau semantic search.
8. Supabase logs
Supabase punya:
- query performance & logs
- API usage logs
- Auth events logs
- Realtime logs
kamu bisa akses via dashboard -> logs -> filter berdasarkan 'auth', 'database', 'functions', dll
Bisa dikoneksiin juga ke logflare atau observability stack sendiri.
9. Supabase CLI & Migration Tools
10. Supabase RESTful & graphQL auto API
Supabase otomatis generate:
REST API: dari semua tabel, fungsi view
GraphQL API: via pg_graphql extension (/graphql/v1)
contoh panggilan
GET https://<project>.supabase.co/rest/v1/profiles?select=id,username
Semua API ini otomatis menghormati RLS policy, jadi aman by design.
Supabase Admin API (service role)
Supabsae punya service_role key(private) buat backend privileged access:
- bisa bypass RLS
- dipakai di edge function atau server (jangan di exponse ke frontend)
- berguna untuk admin actions, data seeding, atau cron job.