Elixir library providing PostgreSQL database performance insights like locks, index usage, cache hit ratios, and vacuum stats.
Ecto PSQL Extras is an Elixir library that provides a comprehensive set of queries to analyze and optimize PostgreSQL database performance. It helps developers identify issues like missing indexes, lock contention, inefficient cache usage, and bloat, offering insights similar to Heroku PG Extras but for any PostgreSQL-backed Elixir application.
Elixir developers and DevOps engineers working with PostgreSQL databases who need to monitor, diagnose, and optimize database performance in Phoenix or Ecto-based applications.
It offers a native Elixir API for deep PostgreSQL introspection without relying on Heroku's tooling, integrates seamlessly with Phoenix.LiveDashboard, and includes a diagnostic report to quickly surface performance bottlenecks.
Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes over 20 specialized queries ported from Heroku PG Extras, covering cache hit ratios, index usage, locks, and vacuum statistics, as detailed in the README with examples like cache_hit and outliers.
Offers a clean, idiomatic API that works directly with Ecto repositories, shown in usage examples like EctoPSQLExtras.cache_hit(YourApp.Repo), making it easy to embed in Phoenix apps or monitoring tasks.
The diagnose method runs a set of checks and prints a report highlighting areas needing investigation, providing a quick start for performance analysis without manual query execution.
Is an optional dependency for Phoenix.LiveDashboard, allowing SQL metrics to be displayed in a web UI, as mentioned in the README with an example image.
Key queries like calls and outliers require the pg_stat_statements extension to be enabled, adding setup overhead and potential configuration issues, as admitted in the README installation notes.
Default ASCII table output may not suit automated systems; raw data requires explicit format options (e.g., format: :raw), complicating integration into scripts or dashboards without extra code.
Includes commands like kill_all that can terminate all database connections, posing risks in production if misused without proper safeguards or oversight.
Lacks features for scheduled queries, alerting, or historical tracking, requiring additional tooling for proactive performance monitoring and trend analysis.
ecto_psql_extras is an open-source alternative to the following products: