Supabase
Realtime funkciók
postgres_changes feliratkozás, filterek, chat jellegű minták, broadcast és cleanup removeChannel-lal.
Realtime funkciók
A Supabase Realtime WebSocket-en keresztül figyeli az adatbázis változásait.
Tábla változásainak figyelése
const channel = supabase
.channel("posts-changes")
.on(
"postgres_changes",
{ event: "*", schema: "public", table: "posts" },
(payload) => {
console.log(payload)
}
)
.subscribe()Szűrés (pl. egy user)
supabase
.channel("user-posts")
.on(
"postgres_changes",
{ event: "INSERT", schema: "public", table: "posts", filter: `user_id=eq.${userId}` },
(payload) => console.log(payload.new)
)
.subscribe()Cleanup
return () => {
supabase.removeChannel(channel)
}Broadcast (DB nélkül)
const channel = supabase.channel("cursor-positions")
channel.subscribe()
channel.send({
type: "broadcast",
event: "cursor-move",
payload: { x: 100, y: 200 },
})Rövid összefoglaló
- Realtime = DB change feed + broadcast.
- Cleanup nélkül könnyű memóriaszivárgást okozni.