Debian tarqatmalari uchun takrorlanadigan paketlar talabi kuchaymoqda
Debian hamjamiyati takrorlanadigan paketlar (reproducible builds)ni majburiy qilishni ko'rib chiqmoqda – bu xavfsizlik, ishonchlilik va sifatni oshiradi.

PostgreSQL ma'lumotlar bazasini kengaytirish uchun ko'plab vositalar mavjud, lekin ularning orasida pg_background kengaytmasi alohida e'tiborni tortadi. Ushbu kengaytma yordamida uzun SQL so‘rovlarini yoki ma'lumotlar bazasini texnik xizmat ko‘rsatish ishlarini foydalanuvchi sessiyasi bloklanmasdan fon jarayonida bajarish mumkin.
pg_background – PostgreSQL server ichida alohida background worker jarayonlarini yaratib, ularga asinxron SQL buyruqlarini topshirish imkonini beruvchi kengaytma. Bu, dblink kabi alohida ulanishlar yoki mijoz tomonida asinxron kod yozishdan farq qiladi: workerlar serverning ichki resurslari bilan ishlaydi va o‘z tranzaksiya kontekstiga ega bo‘ladi.
2026-yilning ikkinchi yarmida chiqarilgan v2 API, (pid, cookie) kombinatsiyasini ishlatadi. Bu kombinatsiya worker jarayonining PID (process ID) qayta ishlatilishining oldini oladi, ya'ni uzun muddatli tizimlarda xavfsizlikni oshiradi.
cancel workerni to‘xtatadi, detach esa faqat kuzatuvni to‘xtatadi.pg_background_stats_v2() va pg_background_progress() funksiyalari orqali holat va progressni kuzatish mumkin.Quyidagi misollar v2 API yordamida qanday ishlashni ko‘rsatadi.
-- Workerni ishga tushirish va xavfsiz handle olish
SELECT * FROM pg_background_launch_v2(
'SELECT pg_sleep(5); SELECT count(*) FROM large_table'
) AS handle;
-- Natijani olish (natija bir martalik)
SELECT * FROM pg_background_result_v2(, ) AS (cnt BIGINT);
-- Faqat yon ta'sir (INSERT) kerak bo‘lsa
SELECT * FROM pg_background_submit_v2(
'INSERT INTO audit_log(ts, event) VALUES (now(), ''system_check'')'
);
-- Cancel va detach farqi
SELECT pg_background_cancel_v2(, );
SELECT pg_background_detach_v2(, );
Bu kodlar yordamida VACUUM, ANALYZE yoki katta ma'lumotlarni backfill qilish kabi vazifalarni foydalanuvchi sessiyasini bloklamasdan bajarish mumkin.
Kengaytmani o‘rnatish oddiy: make && make install dan so‘ng CREATE EXTENSION pg_background; buyrug‘ini bajarish kerak. Eng muhim sozlama max_worker_processes bo‘lib, bu parametr worker jarayonlari uchun ajratiladigan maksimal sonni belgilaydi. Kerakli miqdorni aniqlashda serverning umumiy ishchi jarayonlari va boshqa kengaytmalar bilan muvozanatni saqlash zarur.
v1.7 va v1.8 versiyalarida quyidagi yaxshilanishlar kiritildi:
pg_strong_random() yordamida kriptografik xavfsizlikka ega bo‘ldi.WorkerInfoMemoryContext joriy qilindi, bu esa xotira oqimini oldini oladi.pg_background.max_workers, pg_background.worker_timeout, pg_background.default_queue_size.Windows platformasida cancel operatsiyasi cheklanganligini, COPY protokoli o‘chirib qo‘yilganligini va worker ichida tranzaksiya boshqaruvi ruxsat berilmaganligini unutmang.
pg_background PostgreSQL’ga toza, aniq va xavfsiz asinxron bajarish yo‘nalishini qo‘shadi. V2 API bilan PID‑cookie himoyasi, yaxshilangan monitoring va operatsion sozlamalar ishlab chiqarish muhitida bu kengaytmani ishonchli tanlovga aylantiradi. Agar sizga uzun VACUUM, ma'lumotlarni qayta to‘ldirish yoki audit yozuvlarini “fire‑and‑forget” usulida bajarish kerak bo‘lsa, pg_background yordamida bu vazifalarni server darajasida, foydalanuvchi sessiyasini bloklamasdan amalga oshirishingiz mumkin.