Integrations
Queues
Durable message queues in Postgres with pgmq.
This page is available in Polish only for now. The commands, code and API calls below are the same in every language — an English translation is on its way. Open the Polish page
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 });