Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8aVd-000gKb-1x for pgsql-announce@arkaria.postgresql.org; Fri, 03 Apr 2026 09:08:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8aUd-00AjY5-1S for pgsql-announce@arkaria.postgresql.org; Fri, 03 Apr 2026 09:07:07 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8aUc-00AjXm-1s for pgsql-announce@lists.postgresql.org; Fri, 03 Apr 2026 09:07:07 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w8aUa-00000000KXK-3pHn for pgsql-announce@lists.postgresql.org; Fri, 03 Apr 2026 09:07:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=EiCKfrnXGRYb1JLZxY8qTLUGWBQJft7uDpgAJSRrDb4=; b=wcLCexLu13/HC6qkfpMcnrOWKl c57uM//AbpMNPPZVjiBMGw74va8nfQLb57X21oAGl/x5tVQ8a/rKFVKMeXpxsjapbF8+Xa4IBgjgA X2tyTdjPv5EM02vFawOCrU5wCUKHvTsPzaulDMdCBFiPs2Isp7DVSXAsFSogryseWUIjMqXKe0hY0 w0cVsMgikgPUhCuTz73dMPm/xSmLCwot7nWbeM6+Bsomcoq2znIAj2baPtjspGtD7XTUxGOqbPWBA g8d1zJSRb4kmrr0d1xrrPXQqWHkqILz6DpD8U4Kqi/pUCSnal7CTG1C2+BtHJGvrjG4s0Qqh21vfW mFTj7lnA==; Received: from wrigleys.postgresql.org ([217.196.149.60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8aUa-000v2E-0k for pgsql-announce@lists.postgresql.org; Fri, 03 Apr 2026 09:07:04 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8aUY-00EgtX-11 for pgsql-announce@lists.postgresql.org; Fri, 03 Apr 2026 09:07:03 +0000 Content-Type: multipart/alternative; boundary="===============5479052081548672749==" MIME-Version: 1.0 Subject: pg_ash v1 - Active Session History for PostgreSQL To: PostgreSQL Announce From: PostgresAI via PostgreSQL Announce Reply-To: nik@postgres.ai Date: Fri, 03 Apr 2026 09:06:09 +0000 Message-ID: <177520716916.3221089.1804726113216120208@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: 763012fe8f3f99301ac727a06cfdac2824e85a615ce70e53565ef9e0bdcefef9 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============5479052081548672749== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable pg_ash samples `pg_stat_activity` once per second via `pg_cron`, stores enc= oded snapshots in partitioned tables, and provides 32 SQL functions for wai= t event analysis. Pure SQL + PL/pgSQL. No C extension, no `shared_preload_libraries`, no rest= art required. Works anywhere `pg_cron` runs =E2=80=94 managed providers (RD= S, Cloud SQL, AlloyDB, Azure Database for PostgreSQL, Supabase, etc.), self= -managed, Kubernetes, or any other deployment. Storage: ~100-200 bytes per sample, ~30 MiB/day with `TRUNCATE`-based parti= tion rotation (zero bloat). Analysis functions include top waits, per-query wait profiles, wait event d= rill-down, time-range investigation, and timeline visualization. Functions = are designed to chain naturally for iterative root cause analysis =E2=80=94= by a human in psql or by AI tools such as Claude Code, OpenCode, or Codex. PostgreSQL 14-18. Apache 2.0. CI tested. [https://github.com/NikolayS/pg_ash](https://github.com/NikolayS/pg_ash) --===============5479052081548672749== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable pg_ash v1 - Active Session History for PostgreSQL
 

pg_ash v1 - Active Session History for PostgreSQL

pg_ash samples pg_stat_activity once per second via pg_cron, stores encoded snapshots in par= titioned tables, and provides 32 SQL functions for wait event analysis.

Pure SQL + PL/pgSQL. No C extension, no shared_preload_libraries, no restart required. Works anywhere pg_cron runs =E2=80=94 managed providers (RDS, Cloud SQL, AlloyDB= , Azure Database for PostgreSQL, Supabase, etc.), self-managed, Kubernetes,= or any other deployment.

Storage: ~100-200 bytes per sample, ~30 MiB= /day with TRUNCATE-based partition rotation (zero bloat).

Analysis functions include top waits, per-q= uery wait profiles, wait event drill-down, time-range investigation, and ti= meline visualization. Functions are designed to chain naturally for iterati= ve root cause analysis =E2=80=94 by a human in psql or by AI tools such as = Claude Code, OpenCode, or Codex.

PostgreSQL 14-18. Apache 2.0. CI tested.

https://github.com= /NikolayS/pg_ash

This email was sent to you from PostgresAI. It was delivered on their behal= f by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to PostgresAI.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============5479052081548672749==--