2019.04.0 Release

Docker tag: quay.io/pganalyze/enterprise:v2019.04.0

New features

  • General availability of connection tracing, wait event and vacuum monitoring
    • Added wait events graph
    • Redesigned vacuum monitoring, shows currently running vacuums in more detail
    • Add clickable connection graph to server connections page
    • Track TOAST flag for vacuum runs
    • Connections: Show backend type in addition to application name
    • Note that this is disabled for already existing servers - you need to enable "Activity Sampling" on the server settings page for those servers
  • Remove 5 server limitation for high-frequency query statistics
    • This is no longer necessary with new collector versions, since they handle multiple configuration entries in parallel
  • Add list-focused organization and server overview pages
    • These are now enabled by default when viewing more than 10 databases in the organization overview, or more than 5 databases in the per-server view
  • Add API for adding servers
  • Add Log Insights to server-wide namespace, in addition to per-database
    • This also hides all log events that are not database-specific from the per-database view, to avoid any confusion which events affect a particular database instead of the whole server
  • Gather correct overall size for partitioned tables
  • Change query "I/O %" to "% of All I/O", rework query table logic a bit

Bugfixes

  • Index Check: Refactor query <=> table associations to be text-based instead
    • Previously we used table IDs for this, which led to all kinds of problems when tables temporarily disappeared (which led to the Index Check failing)
  • Postgres roles: Filter our roles from failed logins
    • This can be confusing to the user as any role that had a failed login attempt, even if it doesn't exist, used to show up in the roles list
  • Don't process as default member if invitation is present
    • This avoids the duplicate creation of a new user, if the user has actually been invited by email and is accepting their invite during signup
  • Don't mark databases created by activity snapshots as legacy default
  • Ignore bogus RDS disk statistics
  • Server dashboard: Avoid showing "0" text when some data is not available
  • Query origin parsing: Fix crash case for ",=" character combination
  • Notification worker: Don't notify for issues that got fixed in the meantime
    • This is particularly useful if we are having statistics processing delays, so old notifications for realtime checks might have resolved themselves
  • Historic query stats: Skip very old statistics
  • Catch unique constraint violations in query stats processing
  • Check configuration: Require modify privileges on database
  • Show TOAST size on table detail pages
  • Enable features check: Ignore v11 settings that are disabled by default

Performance improvements

  • Partition log lines and log files by time
  • Vacuum Run: Avoid unnecessary sort for retrieving some stats
  • ConnectionGraph: Remove unnecessary data being loaded
  • Avoid loading table/index issues unnecessarily
  • Reduce allocations for query details endpoint, move to dataload module
  • Query slowness check:
    • Optimize index usage
    • Run once a day, instead of every 30 minutes
  • Partition backend_queries table to avoid DELETE overhead
  • Speed up Log Insights by only loading child lines when necessary
  • Avoid UPDATEs on user table for JWT token usage in the API
  • Delete unused queries older than 60 days

Other changes

  • Various security updates in third-party dependencies
  • Move Postgres Roles and replication pages to server namespace
  • Improve page title formatting/styling in some prominent cases
    • In particular this aims to avoid confusion as we e.g. have "Dashboard" and "Connections" for bot databases and servers.
  • Add explicit "Back to Server" and "Back to Organization" in navigation
    • This makes it easier to explain how to get e.g. to organization-wide settings, which currently would require using the dropdown and clicking again on the currently selected organization

Couldn't find what you were looking for or want to talk about something specific?
Start a conversation with us →