- Updated tune page for latest PgTune
- Dropped support for Ruby < 3.3 and Rails < 7.2
- Dropped support for Linux package for Ubuntu 20.04
- Dropped support for Ruby < 3.2 and Rails < 7.1
- Improved query in
sequencesmethod
- Fixed error when Propshaft is installed but not used
- Improved CSP support
- Dropped support for Linux packages for Ubuntu 18.04, CentOS 7, and SLES 12
- Dropped support for Ruby < 3.1 and Rails < 6.1
- Added materialized views to space page and
relation_sizesmethod - Added Linux package for Debian 12
- Fixed error with
slow_queriesmethod
- Added current stats to query details page
- Improved tune page for latest PgTune
- Added support for explaining normalized queries with Postgres 16
- Added Docker image for
linux/arm64
- Fixed support for aliases in config file
- Fixed error with system stats for Azure Database
- Fixed error with suggested indexes and empty statements
- Fixed error with Uglifier
- Improved handling of lock timeouts
- Improved syntax highlighting
- Added support for pg_query 4
- Added
pghero:clean_space_statsrake task - Added support for specifying retention period with
clean_query_statsandclean_space_stats - Removed reset button when historical query stats are enabled
- Fixed explain error message leaking data - more info
- Explain analyze is now opt-in - more info
- Added support for disabling explain and explain analyze
- Added support for visualize without explain analyze
- Added
explain_v2method
- Fixed message when database user does not have permission to reset query stats
- Changed
capture_query_statsto only reset stats for current database in Postgres 12+ - Changed
reset_query_statsto only reset stats for current database (usereset_instance_query_statsto reset stats for entire instance) - Added
visualize_urloption to config - Removed
access_key_id,secret_access_key,region, anddb_instance_identifiermethods (useaws_prefixed methods instead) - Dropped support for Linux packages for EOL versions
- Dropped support for Ruby < 2.7 and Rails < 6
- Dropped support for pg_query < 2
- Dropped support for aws-sdk < 2
- Added support for
google-apis-monitoring_v3 - Added experimental support for Propshaft
- Fixed error with walsender queries on live queries page
- Fixed sorting by name on space page when historical space stats are not enabled
- Fixed deprecation warnings with Active Record 7
- Added support for pg_query 2
- No longer show walsender in long running queries
- Show relative time on maintenance page
- Added support for
PGHERO_TZfor Docker and Linux
- Fixed error on redirect with Ruby 3
- Fixed error with unparsable sequences
- Improved index suggestions when hash, GiST, GIN, or BRIN index present
- Fixed error with historical query stats
- Added
/healthendpoint to Docker image and Linux packages - Fixed error with
cast_value
- Fixed CSRF vulnerability with non-session based authentication - more info
- Added
database,user, andquery_hashoptions toreset_query_statsmethod
- Added support for Postgres 13 beta 2
- Added support for non-integer explain timeout
- Added support for
google-cloud-monitoring>= 1 - Added support for
google-cloud-monitoring-v3 - Fixed system stats not showing up in Rails 6 with environment variables
- Added system stats for Google Cloud SQL and Azure Database
- Added experimental
filter_dataoption - Localized times on maintenance page
- Improved connection pooling
- Improved error message for non-Postgres connections
- Fixed more deprecation warnings in Ruby 2.7
- Added
connectionsmethod - Fixed deprecation warnings in Ruby 2.7
- Fixed file permissions on
highlight.pack.js
- Added
invalid_constraintsmethod - Added
specoption - Added
override_cspoption - Show all databases in Rails 6 when no config
- Added support for Postgres 12 beta 1
- Added methods and tasks for cleaning up stats
- Dropped support for Rails < 5
- Added
config_pathoption - Fixed error with sequences when temporary tables
- Fixed error when
config.action_controller.include_all_helpers = false
- Added check for connections idle in transaction
- Improved duplicate index logic to detect more duplicates
- Don't report concurrent indexes in-progress as invalid on dashboard
- Fixed error with large number of sequences
- Bumped
total_connections_thresholdto 500 by default
- Added
explain_timeout_secoption - Fixed error with unparsable sequences
- Stopped throwing
Same sequence name in multiple schemaserror
- Fixed issue with sequences in different schema than table
- No longer throw errors for unreadable sequences
- Fixed replication lag for Amazon Aurora
- Added
vacuum_progressmethod
- Added support for Postgres 10 replicas
- Added support for pg_query 1.0.0
- Show queries with insufficient privilege on live queries page
- Default to table schema for sequences
- Fixed issue with sequences in different schema than table
- Fixed query details when multiple users have same query hash
- Fixed error with invalid indexes in non-public schema
- Raise error when capture query stats fails
- More robust methods for multiple databases
- Added support for
RAILS_RELATIVE_URL_ROOTfor Linux and Docker
- Fixed error with sequences in different schemas
- Better advice
- Fixed
AssetNotPrecompilederror - Do not silently ignore sequence danger when user does not have permissions
- Added SQL to recreate invalid indexes
- Added unused index marker to Space page
- Fixed
capture_query_statson Postgres < 9.4
- Fixed error with suggested indexes
- Fixed error with
pg_replication_slots
- Fixed capture space stats
New features
- Query details page
- Added check for inactive replication slots
- Added
table_sizesmethod for full table sizes - Added syntax highlighting
- Added
min_sizeoption toanalyze_tables
Breaking changes
- Methods now return symbols for keys instead of strings
- Methods raise
PgHero::NotEnablederror when a feature isn’t enabled - Requires pg_query 0.9.0+ for suggested indexes
- Historical query stats require the
pghero_query_statstable to havequery_hashandusercolumns - Removed
withoption - use:
PgHero.databases[:database2].running_queriesinstead of
PgHero.with(:database2) { PgHero.running_queries }- Removed options from
connection_sourcesmethod - Removed
locksmethod
- Fixed migrations for Rails 5.1+
- Added
analyze,analyze_tables, andanalyze_allmethods - Added
pghero:analyzerake task - Fixed system stats display issue
- Added support for Rails API
- Added support for Amazon STS
- Fixed replica check when
hot_standby = onfor primary
- Only show connection charts if there are connections
- Fixed duplicate indexes for multiple schemas
- Fixed display issue for queries without word break
- Removed maintenance tab for replicas
- Added 10 second timeout for explain
- No longer show autovacuum in long running queries
- Added charts for connections
- Added new config format
- Removed Chartkick gem dependency for charts
- Fixed error when primary database is not PostgreSQL
- Suggest GiST over GIN for
LIKEqueries again (seeing better performance)
- Suggest GIN over GiST for
LIKEqueries
- Removed mostly inactionable items (cache hit rate and index usage)
- Restored duplicate indexes to homepage
- Fixed issue with exact duplicate indexes
- Way better
blocked_queriesmethod
- Fixed Rails 5 error with multiple databases
- Fixed duplicate index detection with expressions
- Added support for PostgreSQL 9.6
- Fixed incorrect query start for live queries in transactions
- Better tune page for PostgreSQL 9.5
- Added user to query stats (opt-in)
- Added user to connection sources
- Added
capture_space_statsmethod and rake task - Added visualize button to explain page
- Better charts for system stats
- Fixed
wrong constant nameerror in development - Added different periods for system stats
- Removed external assets
- Updated for Rails 5
- Fixed error when
pg_stat_statementsnot enabled inshared_libraries
- Improved performance of query stats
- Improved grouping of query stats
- Added
blocked_queriesmethod
- Added query hash for better query stats grouping
- Added sequence danger check
- Added
capture_query_statsoption to config
- Fixed user methods
- Added schema to queries
- Fixed deprecation warning on Rails 5
- Fix for pg_query >= 0.9.0
- Better suggested indexes
- Removed duplicate indexes noise
- Fixed partial and expression indexes
- Better suggested indexes
- Removed unused indexes noise
- Removed autovacuum danger noise
- Removed maintenance tab
- Fixed suggested indexes for replicas
- Fixed issue w/ suggested indexes where same table name exists in multiple schemas
- Added suggested indexes
- Added duplicate indexes
- Added maintenance tab
- Added load stats for RDS
- Added
table_cachingandindex_cachingmethods - Added configurable cache hit rate threshold
- Show all connections in connections tab
- Added check for transaction ID wraparound failure
- Added check for autovacuum danger
- Fixed system stats
- Added invalid indexes
- Fixed RDS stats for aws-sdk 2
- Added
tablesoption tocreate_usermethod - Added ability to sort query stats by average_time and calls
- Only show unused indexes with no index scans in UI
- Added historical query stats
- Fixed connection bad errors
- Restore previous connection properly for nested with blocks
- Added analyze button to explain page
- Added explain button to live queries page
- More platforms!
- Support for multiple databases!
- Added
replica?method - Added
replication_lagmethod - Added
ssl_used?method - Added
kill_long_running_queriesmethod - Added env vars for settings
- Added connections page
- Added message for insufficient privilege
- Added
iptoconnection_sources
- Added tune page
- Removed minimum size for unused indexes
- Added
total_percenttoquery_stats - Added
total_connections - Added
connection_statsfor Amazon RDS
- Added support for pg_stat_statements on Amazon RDS
- Added
long_running_query_sec,slow_query_msandslow_query_callsoptions
- Added methods to create and drop users
- Added locks
- Added system stats for Amazon RDS
- Added code to remove unused indexes
- Require unused indexes to be at least 1 MB
- Use
pg_terminate_backendto ensure queries are killed
- Reduced long running queries threshold to 1 minute
- Fixed duration
- Fixed wrapping
- Friendlier dependencies for JRuby
- Reverted
query_stats_available?fix
- Fixed
query_stats_available?method
- Added explain
- Added query stats
- Fixed CSS issues
- Improved explanations
- Updated design
- Fixed
missing_indexesmethod
- Added
unused_tablesmethod - Added
database_sizemethod
- First release