Releases: pganalyze/collector
Releases · pganalyze/collector
v0.54.0
- Update pg_query_go to v5 / Postgres 16 parser
- Bugfix: Skip collecting extended statistics for Postgres 11 and below
- Since the system view
pg_stats_ext
was introduced starting with Postgres
12, this was causing the issue of collecting any schema data on Postgres 11
and below
- Since the system view
v0.53.0
- Track extended statistics created with
CREATE STATISTICS
- This is utilized by pganalyze Index Advisor to better detect functional dependencies, and improve multi-column index recommendations
- To allow the collector to access external statistics data you need to create the new "get_relation_stats_ext" helper function (see https://github.com/pganalyze/collector?tab=readme-ov-file#setting-up-a-restricted-monitoring-user)
- Docker image: Don't reload when calling "test" command
v0.52.4
- Log Insights: Add support for receiving syslog over TLS
- You can configure a TLS certificate for the collector syslog server using
the following config settings:db_log_syslog_server_cert_file
/LOG_SYSLOG_SERVER_CERT_FILE
or
db_log_syslog_server_cert_contents
/LOG_SYSLOG_SERVER_CERT_CONTENTS
db_log_syslog_server_key_file
/LOG_SYSLOG_SERVER_KEY_FILE
or
db_log_syslog_server_key_contents
/LOG_SYSLOG_SERVER_KEY_CONTENTS
- The Certificate Authority both on the server side and the client side also
can be specified via config settings
- You can configure a TLS certificate for the collector syslog server using
- Azure: Fix managed identity credential creation in Log Insights
- This fixes a failure of obtaining logs from Azure when the managed identity
credential was used. This was with the "failed to set up workload identity
Azure credentials" error message
- This fixes a failure of obtaining logs from Azure when the managed identity
- Citus: Avoid error collecting schema stats on tables with no indexes
v0.52.3
- Collector log output: Reduce frequency of some snapshot log events
- Previously, near real-time "compact" snapshots would generate log lines
every 10 seconds, which made errors hard to find - Now, a single log line is printed once a minute with a summary of snapshots
submitted - Note that
--verbose
will still log every snapshot as it's submitted
- Previously, near real-time "compact" snapshots would generate log lines
- Collector log output: Add "full" prefix for full snapshots sent every 10 minutes
- This changes the "Submitted snapshot successfully" message to read
"Submitted full snapshot successfully" instead
- This changes the "Submitted snapshot successfully" message to read
- OpenTelemetry integration:
- Support
pganalyze
tracestate to set start time of the span - Start time can be specified with
t
member key as Unix time in seconds,
with decimals to specify precision down to nano seconds - This allows specifying a better span start and end time in case precise
timestamps are not present in the Postgres logs, like with Amazon RDS
- Support
- Allow pg_stat_statements failures and continue snapshot processing
- Previously, when pg_stat_statements data collection failed (e.g. a timeout
when the query text file got too large), the whole snapshot was treated as
failed and only reported an error snapshot to pganalyze, without any
statistics - Instead, treat pg_stat_statements errors as a collector error in the
snapshot, but continue afterwards and report other statistics that were
collected successfully
- Previously, when pg_stat_statements data collection failed (e.g. a timeout
v0.52.2
- OpenTelemetry integration:
- Support sqlcommenter format query tag (
key='value'
) fortraceparent
- Add a new config setting
otel_service_name
/OTEL_SERVICE_NAME
for
customizing the OpenTelemetry service name
- Support sqlcommenter format query tag (
v0.52.1
- Postgres 14+: Include toplevel attribute in statement statistics key
- This could have caused statistics to be incorrect in Postgres 14+ when
the same query was called both from within a function (toplevel=false)
and directly (toplevel=true), with pg_stat_statements.track set to "all" - If affected, the issue may have shown by bogus statistics being recorded,
for example very high call counts, since the statement stats diff would
not have used the correct reference
- This could have caused statistics to be incorrect in Postgres 14+ when
v0.52.0
- OpenTelemetry integration: Allow exporting EXPLAIN plans as trace spans
- This is an experimental feature that allows configuring the collector
to send an OpenTelemetry tracing span for each processed EXPLAIN plan
with an associatedtraceparent
query tag (e.g. set by sqlcommenter)
to the configured OpenTelemetry endpoint - To configure the OTLP protocol endpoint, set the new config setting
otel_exporter_otlp_endpoint
/OTEL_EXPORTER_OTLP_ENDPOINT
, with a
endpoint string like "http://localhost:4318". You can also optionally
set theotel_exporter_otlp_headers
/OTEL_EXPORTER_OTLP_HEADERS
variable to add authentication details used by hosted tracing providers
like Honeycomb and New Relic
- This is an experimental feature that allows configuring the collector
- Relax locking requirements for collecting table stats
- This avoids skipped statistics due to page or tuple level locks,
which do not conflict withpg_relation_size
as run by the collector.
- This avoids skipped statistics due to page or tuple level locks,
- Activity snapshots: Normalize queries for
filter_query_sample = normalize
- This matches the existing behavior when
filter_query_sample
is set
toall
, which is to run the normalization function on pg_stat_activity
query texts, making sure all parameter values are replaced with$n
parameter references
- This matches the existing behavior when
- Self-managed servers: Add test run notice when system stats are skipped
- Docker log tail: Re-order args to also support podman aliased as docker
v0.51.1
- Fix handling of tables that only have an entry in pg_class, but not pg_stat_user_tables
- Due to a bug introduced in the last release (0.51.0), databases with such tables would error out and be ignored due to n_mod_since_analyze and n_ins_since_vacuum being NULL
v0.51.0
- Autovacuum:
- Add support for updated log format in Postgres 15+
- Remember unqualified name for "skipping vacuum" log events
- Add more cases for "canceling autovacuum task" log context line
- Track n_ins_since_vacuum value to determine when insert-based autovacuum was triggered
- AWS Aurora: Correctly detect Aurora reader instances as replicas
- Self-managed servers: Use log_timezone setting to determine log timezone if possible
- Azure: Fix partition selection issue in Azure log processing
- Helm chart: Improve default security settings
- Update Go version to 1.21
- Packages:
- Switch to SHA256 signatures to fix RHEL9 install errors
- Drop Ubuntu 16.04, 18.04 and Debian 10 (Buster) support, as they are no longer supported
v0.50.1
- Bugfix: Return correct exit code with the data collection test run
- The correct exit code was returned with "--reload --test", but not with "--test"
- Xmin horizon metrics: Fix incorrect ReplicationSlotCatalog
- ReplicationSlot was wrongly sent as ReplicationSlotCatalog
- Xmin horizon metrics collection was introduced in 0.49.0
- Update github.com/satori/go.uuid to 1.2.0
- Fixes CVE-2021-3538 which may have led to random UUIDs having less
randomness than intended - Effective security impact of this historic issue is expected to be minimal,
since random UUIDs are only used for snapshot identifiers associated to a
particular pganalyze server ID
- Fixes CVE-2021-3538 which may have led to random UUIDs having less
- Log Insights: Add autovacuum index statistics information introduced in Postgres 14
- Previously, if autovacuum logs included such information, the collector
failed to match the log line and the events would not be classified
correctly in Log Insights
- Previously, if autovacuum logs included such information, the collector