Releases: pganalyze/collector
Releases · pganalyze/collector
v0.18.1
v0.18.0
- Add Postgres 12 support
- Process each configured server section in parallel
- This avoids problems when a high number of servers is configured, since
previously they would be processed serially, leading to skewed statistics
for servers processed later in the sequence
- This avoids problems when a high number of servers is configured, since
- Introduce log filtering for PII and other kinds of secrets
- This is controlled by the new "filter_log_secret" configuration setting
- Remove explicit connection to EC2 metadata service #27
- Gather total partitioned/inheritance children table size
- Correctly retrieve distributed table size for Citus extension tables
- Ensure connections are encrypted and made using TLS 1.2
- Build improvements
- Update builds and tests to use Go 1.12
- Switch to new Go module system instead of gvt
v0.17.1
- Vacuum monitoring
- Filter out results with insufficient privileges
- Previously we would error out hard in this case, which isn't helpful and
can stop the usage of activity snapshots on shared systems
- Previously we would error out hard in this case, which isn't helpful and
- Correctly close DB connection on error
- Filter out results with insufficient privileges
- Connection establishment: Make sure to close connection on early errors
- Add support for "%t [%p]: [%l-1] [trx_id=%x] user=%u,db=%d " log_line_prefix
- Add LOG_LOCATION environment config variable (same as db_log_location)
- Note: We don't support the equivalent of the experimental setting
db_log_docker_tail since it would require the "docker" binary inside
the pganalyze container (as well as full Docker access), instead the
approach for using pganalyze as a sidecar container alongside Postgres
currently requires writing to a file and then mounting that as a
volume inside the pganalyze container
- Note: We don't support the equivalent of the experimental setting
v0.17.0
- TOAST handling
- Track size of TOAST table separately
- This can often be useful to determine whether the bulk of a table is in
TOAST storage, or in the main storage, and thus reads may behave slightly
differently
- This can often be useful to determine whether the bulk of a table is in
- Fix bug in detection of HasToast for tables
- Previously we recorded this the wrong way around, i.e. tables that had
no TOAST would have been flagged as having TOAST. This hasn't been used
thusfar in terms of stats processing, but might be in the future, so
better to have this correct
- Previously we recorded this the wrong way around, i.e. tables that had
- Track TOAST flag for autovacuum and buffercache statistics
- Track size of TOAST table separately
- Schema-qualify functions/tables wherever possible
- Whilst not much of problem in practice, since the collector doesn't run
as superuser, it doesn't hurt to schema-qualify everything - This also introduces an explicit "SCHEMA public" for CREATE EXTENSION
statements to support non-standard search paths better
- Whilst not much of problem in practice, since the collector doesn't run
- Extract schema/relation name from autovacuum log events
- This is done to make it easier to link autovacuum log events to the
corresponding vacuum statistics records
- This is done to make it easier to link autovacuum log events to the
- Include partitioned base tables in the table information gathered
- Historic statement stats: Ignore any data older than 1 hour
- There has been some cases where the state structure doesn't get reset
and the historic statement stats keeps growing and growing. Add this
as a safety measure to ensure a run can complete successfully
- There has been some cases where the state structure doesn't get reset
v0.16.0
- Fix scoping of on-disk state to reflect system type/scope/id
- Previously we only considered API key to determine which state to save,
which meant that in configurations with multiple servers but a single
organization API key we'd usually loose statistics on restarts, or
get the wrong values for diff-ing the query statistics - This is a backwards-incompatible change for the on-disk format and
therefore bumps the version from 1 to 2. Effectively this will show
as one period of no data after upgrading to this version, as the
previously saved counter values in the state file won't be used
- Previously we only considered API key to determine which state to save,
- Add support for "%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h " log_line_prefix
- Use explicit log file clean up instead of deferrals
- There have been reports of old temporary files containing log lines
not being cleaned up fully - attempt to fix that
- There have been reports of old temporary files containing log lines
- systemd config: Fix incorrect specification of memory limit & restart event Dom Hutton #26
v0.15.2
v0.15.1
v0.15.0
- Add additional supported log_line_prefix settings
-
- '%m [%p] %q[user=%u,db=%d,app=%a] '
-
- '%m [%p] %q[user=%u,db=%d,app=%a,host=%h] '
-
- Add support for [local] when using %r in log_line_prefix
- Make --discover-log-location work when using monitoring user
- Correctly detect pg_wal directory for Postgres 10 and newer
- Introduce setting for maximum collector connections
- This previously existed as a hard-coded 5 connection maximum based on the
pganalyze-collector application name in pg_stat_activity - Adds "max_collector_connections" configuration setting to override
- Increases default max connections to 10 to better support activity snapshots
- Writes an error to the log instead of panicing when limit is reached
- This previously existed as a hard-coded 5 connection maximum based on the
- Add experimental support for Docker log monitoring
- Adds "db_log_docker_tail" setting to specify the container name
- Allows monitoring the logs of a Postgres instance running inside
Docker, when running the collector outside (on the Docker Host)