Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Vacuum Laravel Package

heyosseus/vacuum

A Laravel package that vacuums stale application data on a schedule, letting you define retention rules and reclaim disk space automatically. Simple configuration, Artisan commands, and no manual pruning—keeping your app lean and your database tidy.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

  • Architecture fit: heyosseus/vacuum is a Laravel package that adds a database monitoring Overview (database size, largest tables, vitals) for PostgreSQL. It fits Laravel applications already using PostgreSQL and seeking lightweight observability without a separate monitoring stack. The v1.2.3 release replaces expensive pg_total_relation_size() scans with pg_database_size() and a read-only executor with statement timeout, improving fit for large databases (160 GB, ~500 tables).
  • Integration feasibility: Low effort. Upgrading requires only composer update heyosseus/vacuum; no configuration changes, migrations, or API changes. New adoption likely follows standard Laravel package discovery. The package appears to rely on PostgreSQL system catalogs and pg_stat_statements (implied by the release notes), so integration depends on database permissions and extension availability.
  • Technical risk: Low for this patch release—it is a performance fix with no breaking changes. Underlying risks include: dependency on PostgreSQL-specific features, potential permission requirements for statistics views, and remaining performance concern in the Tables list (still sorts by size on each load, tracked in #31). The read-only executor and statement timeout reduce risk of monitoring queries impacting production.
  • Key questions: Which Laravel and PHP versions are supported? Which PostgreSQL versions? Does it require pg_stat_statements or superuser privileges? How are database connections configured (read-only replica support)? What is the package’s license and security posture? How active is maintenance beyond this contribution? Does it expose sensitive schema or usage data?

Integration Approach

  • Stack fit: Best suited for Laravel + PostgreSQL stacks. Applications on MySQL or other databases would not benefit. Teams already using PostgreSQL and lacking a lightweight database dashboard may find it valuable. It complements, rather than replaces, full observability platforms.
  • Migration path: For existing users, composer update heyosseus/vacuum is sufficient—no migrations, no config changes. For new adoption, composer require heyosseus/vacuum followed by standard package setup (likely publishing config/assets) is expected. Verify against the package’s README for any required environment variables or permissions.
  • Compatibility: v1.2.3 is backward compatible with prior versions (no API changes). Confirm compatibility with your Laravel version and PostgreSQL version. The release notes do not mention deprecations. Test in a staging environment with a production-like database size to validate the performance improvements.
  • Sequencing: Adopt independently of other initiatives. For existing users, schedule the update during a routine maintenance window—low risk. For new users, pilot in a non-production environment first, then roll out to staging, then production. No dependency on other packages or migrations.

Operational Impact

  • Maintenance: Positive signal: the release was contributed by a community member and includes a follow-up fix (#32), indicating active maintenance and responsiveness. The package is small and focused, reducing long-term maintenance burden. Track issue #31 (Tables list sorting) as a remaining performance item.
  • Support: Community-driven support likely via GitHub issues. The release notes credit the contributor, suggesting an open and collaborative project. Evaluate the project’s issue response times and release cadence before relying on it for production monitoring.
  • Scaling: v1.2.3 significantly improves scaling for large databases by avoiding full-table size scans on every render and bounding statistics queries with a statement timeout. However, the Tables list still sorts by size on each load, so very large databases may see residual overhead there. The Overview is now cheaper but not free—monitor query cost in production.
  • Failure modes: If a size query exceeds the statement timeout, the chart degrades gracefully (shows incomplete data) rather than holding a web worker. The read-only executor prevents accidental writes. Remaining failure modes include permission errors on system catalogs, missing pg_stat_statements, and incorrect figures if system catalogs are included (0.03% difference noted). Ensure database user has appropriate read-only access.
  • Ramp-up: Low for Laravel developers familiar with Composer and PostgreSQL. The package provides a UI, so end-users need minimal training. Teams should document required database permissions and the read-only connection setup. Expect a short ramp-up (hours) for initial setup and validation.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource