Skip to content

Releases: pganalyze/collector

v0.56.0

19 Apr 18:17
f104806
Compare
Choose a tag to compare
  • Improve the collector test output
    • In addition to the existing test output, the new summary is added to provide
      a consolidated result showing the state of the collector setup
    • Add more verbose output for the --test-explain flag
  • Amazon RDS/Aurora: Use 5432 as a default DB port
    • Previously IAM authentication would fail with "PAM authentication failed"
      when the port was not explicitly set in the collector configuration
  • Update pg_stat_statements logic
    • Support updated fields in Postgres 17
  • Autovacuum:
    • Add support for updated log format (frozen:) in Postgres 16+
  • Publish Helm Chart package
    • The Helm Chart repository can be accessed via https://charts.pganalyze.com/
    • The collector chart is available at pganalyze/pganalyze-collector
    • The oldest available package version is 0.55.0
  • Docker image: Support taking additional arguments for test, test-explain, collector
    • Previously, adding the verbose flag like test -v wasn't working. With this
      update, the additional arguments are now correctly passed to the process and
      test -v will run the test with verbose mode
  • Docker image: Update the internal collector config file location
    • When the Docker container is passed the CONFIG_CONTENTS environment variable,
      the file used to be written to /home/pganalyze/.pganalyze_collector.conf
      location, and then read by the collector
    • Instead, this file is now written to the /config/pganalyze-collector.conf
      location - this fixes problems when having a read-only root filesystem
  • Add --generate-stats-helper-sql helper command
    • This command generates a SQL script that can be passed to psql to install
      stats helpers (e.g. for collecting column stats) on all configured databases
      for the specified server

v0.55.0

28 Mar 05:50
30888b7
Compare
Choose a tag to compare
  • Add integration with Tembo
    • Supports Log Insights (via log streaming) and system metrics download
    • This integration is mainly intended for direct use by the Tembo Postgres
      provider (the collector is deployed by Tembo, if enabled)
  • Heroku integration
    • Avoid unnecessary error messages related to state file and reload mechanism
  • Accept PGA_API_BASE_URL env var in addition to PGA_API_BASEURL
    • Going forward we recommend using PGA_API_BASE_URL when configuring the
      collector for sending to pganalyze Enterprise Server installations
  • Syslog handler: Allow leading spaces before parts regexp
    • When configuring rsyslogd for RFC5424 output with the
      RSYSLOG_SyslogProtocol23Format template, it adds a leading space that we
      didn't anticipate correctly.
  • Relation stats: Call pg_stat_get_* directly instead of using system views
    • The collecror now calls the underlying pg_stat_get* functions directly,
      which has the same effect as querying the pg_stat_all_tables and
      pg_statio_all_tables views (as they are simple views without any security
      barrier), but results in better performance when a table filter
      (ignore_schema_regexp / IGNORE_SCHEMA_REGEXP) is active

v0.54.0

06 Mar 06:17
Compare
Choose a tag to compare
  • 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

v0.53.0

03 Feb 04:05
Compare
Choose a tag to compare

v0.52.4

22 Dec 10:10
81a109d
Compare
Choose a tag to compare
  • 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
  • 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
  • Citus: Avoid error collecting schema stats on tables with no indexes

v0.52.3

05 Dec 03:39
7190482
Compare
Choose a tag to compare
  • 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
  • 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
  • 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
  • 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

v0.52.2

26 Oct 05:29
b366c7f
Compare
Choose a tag to compare
  • OpenTelemetry integration:
    • Support sqlcommenter format query tag (key='value') for traceparent
    • Add a new config setting otel_service_name / OTEL_SERVICE_NAME for
      customizing the OpenTelemetry service name

v0.52.1

12 Oct 06:06
4addb95
Compare
Choose a tag to compare
  • 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

v0.52.0

05 Oct 09:47
Compare
Choose a tag to compare
  • 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 associated traceparent 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 the otel_exporter_otlp_headers / OTEL_EXPORTER_OTLP_HEADERS
      variable to add authentication details used by hosted tracing providers
      like Honeycomb and New Relic
  • Relax locking requirements for collecting table stats
    • This avoids skipped statistics due to page or tuple level locks,
      which do not conflict with pg_relation_size as run by the collector.
  • Activity snapshots: Normalize queries for filter_query_sample = normalize
    • This matches the existing behavior when filter_query_sample is set
      to all, which is to run the normalization function on pg_stat_activity
      query texts, making sure all parameter values are replaced with $n
      parameter references
  • 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

16 Aug 05:13
c6a1217
Compare
Choose a tag to compare
  • 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