Integracje
Queues — kolejki wiadomości
pgmq: trwała kolejka w Postgresie z panelem, archiwum i dostępem przez Data API.
Queues to kolejka wiadomości wbudowana w bazę (rozszerzenie pgmq): gwarantowane dostarczenie, czas widoczności (visibility timeout), archiwum i metryki — bez osobnej infrastruktury.
W panelu
- Zainstaluj Integracje → Queues, a następnie w zakładce Kolejki utwórz kolejkę: standardową, unlogged (szybsza, bez WAL) lub partycjonowaną (pg_partman).
- Podgląd wiadomości i archiwum, wysyłanie JSON z opóźnieniem, archiwizacja i usuwanie pojedynczych wiadomości, czyszczenie kolejki.
- Metryki: długość kolejki, łączna liczba wiadomości, wiek najstarszej.
SQL
select pgmq.create('emails');
select pgmq.send('emails', '{"to": "jan@firma.pl"}', 0);
select * from pgmq.read('emails', 30, 5); -- 5 wiadomości, ukryte na 30 s
select pgmq.archive('emails', 1);
Data API (supabase-js)
Przycisk Udostępnij kolejki tworzy schemat pgmq_public z funkcjami send, send_batch, read, pop, archive, delete i dodaje go do Data API. Domyślnie wywołać je może tylko service_role; opcjonalnie także zalogowani użytkownicy.
const q = supabase.schema("pgmq_public");
await q.rpc("send", { queue_name: "emails", message: { to: "jan@firma.pl" } });
const { data } = await q.rpc("read", { queue_name: "emails", sleep_seconds: 30, n: 5 });