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