Giter Club home page Giter Club logo

pg_insights's Introduction

pg_insights

Convenient SQL for monitoring Postgres database health. This repository is inspired by commands from Heroku's pg_extras repository.

How to Use

psql

You can run a script using psql's -f option. For example:

$ psql postgres -f sql/cache_hit_rate.sql

It also works with aliases you have setup with psql:

$ alias psql_my_db="psql -h my_db.com -d my_db -U admin"
$ psql_my_db -f sql/cache_hit_rate.sql

Other

You can also copy/paste any of the SQL in the sql/ directory and run with the Postgres client of your choice.

Scripts

active_autovacuums.sql (admin permission)

  • Returns all running autovacuums operations

analyze_stats.sql (read permission)

  • Returns autovacuum analyze stats for each table

bloat.sql (read permission)

  • Returns the approximate bloat from dead tuples for each table
  • This bloat can also be index bloat

buffer_cache_usage.sql (admin permission)

  • Returns the distribution of shared buffers used for each table
  • Requires the pg_buffercache extension
  • Includes the total bytes of a table in shared buffers, the percentage of shared buffers a table is using, and the percentage of a table the exists in shared buffers

cache_hit_rate.sql (read permission)

  • Returns the cache hit rate for indices and tables
  • This is the rate of queries that only hit in-memory shared buffers rather than having to fetch from disk
  • Note that a queries that are cache misses in Postgres's shared buffers may still hit the in-memory OS page cache, so a miss not technically go all the way to the disk
  • Both of these rates should be 99+% ideally

index_hit_rate.sql (read permission)

  • Returns the index hit rate for each table
  • This rate represents the percentage of queries that utilize 1 or more indices when querying a table
  • These rates should be 99+% ideally

index_size.sql (read permission)

  • Returns the size of each index in bytes

table_settings.sql (read permission)

  • Returns the table-specific settings of each table.

table_size.sql (read permission)

  • Returns the size of each table in bytes
  • Does not include size of the tables' indices

table_size_with_indices.sql (read permission)

  • Returns size of each table in bytes including all indices

unused_indices.sql (read permission)

  • Returns indices that are rarely used
  • Note that sometimes the query optimizer will elect to avoid using indices for tables with a very small number of rows because it can be more efficient

vacuum_stats.sql (read permission)

  • Returns autovacuum stats for each table

Contributing

Pull requests for bug fixes, improvements, or new SQL are always welcome!

pg_insights's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.