Saltar al contenido principal

🔧 Cómo Habilitar Realtime en Supabase - Guía Visual

⚠️ Importante: No es "Stream database changes"

La pantalla que estás viendo es para replicación a destinos externos (BigQuery, Iceberg, etc.), NO es para Realtime.

Realtime es diferente: permite suscribirse a cambios en tiempo real usando WebSockets directamente desde tu aplicación.


✅ Pasos Correctos para Habilitar Realtime

Opción 1: Desde el Dashboard (Más Fácil)

  1. Ve a tu proyecto en Supabase Dashboard:

  2. Ve a Database → Replication:

    • En el menú lateral izquierdo, busca "Database"
    • Haz clic en "Replication"
    • NO entres a "Stream database changes" (esa es otra cosa)
  3. Busca la sección "Realtime":

    • Deberías ver una lista de tablas con un toggle/switch para habilitar Realtime
    • O busca un botón/tab que diga "Realtime" o "Enable Realtime"
  4. Habilita Realtime para estas tablas:

    • Hackathon
    • Submission
    • Score
    • ChallengeEvaluation
    • Notification
    • Team

Opción 2: Desde SQL Editor (Más Rápido)

Si no encuentras la opción en el Dashboard, usa el SQL Editor:

  1. Ve a SQL Editor:

    • En el menú lateral, busca "SQL Editor"
    • Haz clic en "New query"
  2. Copia y pega este SQL:

-- Habilitar Realtime para las tablas que necesitamos
ALTER PUBLICATION supabase_realtime ADD TABLE "Hackathon";
ALTER PUBLICATION supabase_realtime ADD TABLE "Submission";
ALTER PUBLICATION supabase_realtime ADD TABLE "Score";
ALTER PUBLICATION supabase_realtime ADD TABLE "ChallengeEvaluation";
ALTER PUBLICATION supabase_realtime ADD TABLE "Notification";
ALTER PUBLICATION supabase_realtime ADD TABLE "Team";
  1. Ejecuta el query (botón "Run" o Ctrl+Enter)

  2. Verifica que funcionó:

    • Deberías ver mensajes de éxito como "Success. No rows returned"

🔍 ¿Dónde Está la Opción de Realtime?

Si no encuentras la opción en "Database → Replication", puede estar en:

Alternativa A: Database → Tables

  1. Ve a Database → Tables
  2. Selecciona una tabla (ej: Hackathon)
  3. Busca una pestaña o sección que diga "Realtime" o "Replication"
  4. Debería haber un toggle para habilitar Realtime

Alternativa B: Settings → API

  1. Ve a Settings → API
  2. Busca una sección sobre "Realtime" o "WebSockets"
  3. Puede haber configuraciones globales ahí

✅ Verificar que Realtime Está Habilitado

Test con SQL

Ejecuta este query en el SQL Editor:

SELECT 
schemaname,
tablename
FROM pg_publication_tables
WHERE pubname = 'supabase_realtime';

Deberías ver las tablas que habilitaste:

  • Hackathon
  • Submission
  • Score
  • ChallengeEvaluation
  • Notification
  • Team

Si no ves ninguna tabla, Realtime no está habilitado.


🐛 Si No Encuentras la Opción

Posible Causa: Plan de Supabase

Realtime está disponible en:

  • Plan Free: Disponible
  • Plan Pro: Disponible
  • Plan Team: Disponible

Si estás en un plan muy básico, puede que no esté disponible.

Solución Alternativa: Usar SQL

Si no encuentras la opción en el Dashboard, siempre puedes usar SQL (Opción 2 arriba). Es la forma más directa y funciona en todos los planes.


📝 Nota Importante

RealtimeStream database changes

  • Realtime: Cambios en tiempo real vía WebSockets (lo que necesitamos)
  • Stream database changes: Replicación a BigQuery/Iceberg/etc. (lo que viste en la imagen)

Son dos funcionalidades diferentes. Necesitamos Realtime, no "Stream database changes".


✅ Siguiente Paso

Una vez que hayas habilitado Realtime (usando SQL o el Dashboard):

  1. Reinicia tu servidor de desarrollo:

    # Detén el servidor (Ctrl+C) y reinicia
    pnpm dev
  2. Abre la consola del navegador (F12)

  3. Deberías ver:

    [Realtime] Suscrito a Hackathon (realtime-Hackathon-xxxxx)
  4. Prueba: Actualiza un hackathon y verifica que se actualiza automáticamente


¿Necesitas ayuda para encontrar la opción? Puedo guiarte paso a paso si me dices qué ves en tu Dashboard.