Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 15 вересня 2026

PostgreSQL Monitoring and Schema Linting для Laravel з пакетом Vacuum

Vacuum - це пакет для моніторингу PostgreSQL у Laravel-застосунках, створений Rati Rukhadze. Пакет зчитує статистику, яку PostgreSQL уже збирає у вбудованих view таких як pg_stat_user_tables, pg_stat_activity та pg_stat_statements, після чого складає список виявлених проблем разом із SQL-командами для їх виправлення.

Основні можливості

Vacuum пропонує широкий набір інструментів для моніторингу та аналізу бази даних:

  • 13 правил-радників (advisor rules): виявлення wraparound, bloat, dead tuples, невикористовуваних індексів, повільних запитів та інших проблем
  • Health score: оцінка здоров'я бази даних за 100-бальною шкалою на основі виявлених проблем
  • Підтримка Blade та Filament: готова панель за адресою /vacuum або плагін для Filament 4 чи 5
  • Команда vacuum:check: може провалити білд у CI/CD при виявленні критичних проблем
  • Команда vacuum:lint: виявляє проблеми зі схемою бази даних, такі як непроіндексовані зовнішні ключі
  • Історія: відстеження трендів та прогнозування на основі запланованих знімків (snapshots)
  • Уроки (Lessons): 13 пояснень щодо PostgreSQL, які використовують ваші власні таблиці як приклади
  • І багато іншого

Dashboard та правила аналізу

Кожна виявлена проблема має рівень серйозності (severity) та оцінку (grade), що в сукупності формує загальний health score із 100 балів.

Детальніше про правила можна дізнатися з readme пакета. Окрім того, пакет надає ендпоінт /learn, який пояснює, чому певні проблеми існують у вашій базі даних, використовуючи ваші власні таблиці як робочі приклади - наприклад, для пояснення N+1 запитів.

Робота з термінала

Ті самі правила можна запускати через командний рядок:

php artisan vacuum:check
php artisan vacuum:check --fail-on=warning   # critical, warning, info, or never
php artisan vacuum:check --format=json       # score, grade, deductions, findings

Використовуючи заплановану задачу (scheduled job) на staging-оточенні, ви можете налаштувати провал білду, коли freeze age таблиці перевищить критичний поріг. Кожне правило зчитує свої ліміти з конфігураційного файлу config/vacuum.php, зокрема dead_tuple_ratio (0.20) та slow_query_milliseconds (500).

Встановлення

Vacuum версії 1.2.0 вимагає PostgreSQL 14 та Laravel 11+. Розширення pg_stat_statements є опціональним - без нього dashboard просто повідомить про відсутність розширення.

composer require heyosseus/vacuum
php artisan vacuum:install

Налаштування доступу

За замовчуванням dashboard доступний лише в local-оточенні. Щоб відкрити доступ в інших середовищах, можна використати callback через метод Vacuum::auth():

use Heyosseus\Vacuum\Vacuum;

Vacuum::auth(fn (Request $request) => $request->user()?->isAdmin() === true);

Дізнатися більше про пакет, отримати повні інструкції зі встановлення та переглянути вихідний код можна на GitHub.

9

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Fresh Package
Новини 19 вересня 2026

Fresh Package: новий скелет для розробки Laravel-пакетів з Testbench, CI та інтеграцією Boost

Fresh Package від Mazen Touati - це сучасний скелет для створення Laravel-пакетів, який включає тестове середовище, статичний аналіз, CI/CD, workbench-додаток та шаблони навичок для AI-агентів. Підтримує як backend-only, так і full-stack пакети.

5
Jev: модель, яка повертає рішення замість тексту - і вже є в Laravel AI SDK Рекомендовано
Новини 18 вересня 2026

Jev: модель, яка повертає рішення замість тексту - і вже є в Laravel AI SDK

TypeSafe AI випустила Jev - модель, яка не генерує текст, а повертає типізовані рішення з каліброваними ймовірностями за 70-500 мс. Через два дні підтримка приїхала в гілку 1.x пакета laravel/ai у вигляді API Classification з питаннями Boolean, Choice і Score.

Вакансії за темою

Edvantis Нова
2 дні тому

Senior Full-Stack Software Engineer (PHP/Laravel, Vue.js)

Розробник повного стеку для хмарної платформи управління дослідженнями. Розроблення функцій на PHP (Laravel) та Vue.js, побудова REST API, оптимізація продуктивності, написання тестів. Вимоги: міцні знання PHP та Laravel, досвід з Vue.js і JavaScript, англійська Upper-Intermediate+.

N-iX Нова
2 дні тому

Senior/ Lead PHP Engineer (with AI Skills), Toronto time zone

Старший/Lead PHP розробник з глибокою експертизою Laravel для побудови та інтеграції систем штучного інтелекту. Спеціаліст матиме відповідати за складні backend-функції, менторство інших розробників, проектування та впровадження AI-driven automation агентів в продукт. Вимоги: 6+ років досвіду на PHP, 4+ років Laravel, практичний досвід роботи з LLM API, контейнеризацією (Docker) та хмарними платформами, мова English Upper Intermediate+.

UPPeople Нова
3 дні тому

Platform Engineering Lead

Full-Stack інженер / Technical Lead для маркетингової платформи в сфері фармакології. Повна власність над веб-платформою на Laravel + Vue.js, що працює на GCP з PostgreSQL і ClickHouse. Проектування архітектури, оптимізація обробки великих обсягів даних, управління надійністю та безпекою. Вимоги: 5+ років досвіду full-stack розробки, досвід з Laravel/PHP, Vue 3, SQL та аналітичними платформами.

Пакети за темою

Laravel Query Detector

beyondcode/laravel-query-detector

Інструмент для виявлення та попередження проблем N+1 запитів у Laravel додатках. Допомагає оптимізувати запити до бази даних шляхом виявлення неефективних паттернів навантаження даних.

2,057 2.3.0 13 15

Lada Cache

spiritix/lada-cache

Redis-базований автоматизований рівень кешування для бази даних Laravel, який забезпечує масштабованість та оптимізацію продуктивності.

591 v6.1.1 13 3