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 });