We build Self-Driving Postgres and help fast-growing startups scale their databases, workloads, and related operations

remote
Joined July 2020
PostgresAI retweeted
New episode: "pg_stat_log" Nik and Michael are joined by @fabriziomello to discuss his new extension pg_stat_log. 🎧 postgres.fm/episodes/pg_stat… 📺 youtu.be/xr5kv1WUdWM
1
6
2
12
4,036
finally got dark theme in console.postgres.ai
1
10
1,084
PgQue got a website with docs – pgque.dev
5
32
220
14,219
"you can't have superuser" "you can't install that extension" "you can't access WAL" "it's for your protection!" no. it's free software -- handed back to you with the freedom removed, and the cage painted as safety Postgres is free. that freedom is the whole point. you don't need protection from the database you've run for decades. you need access to it. full control. and ownership.
2
3
44
4,035
PgQue v0.2.0: 🐍 Python, 🟦 TypeScript, 🐹 Go clients ⚡️ send_batch() performance optimized 👥 subconsumers to scale consumption near-linearly ⏱️ sub-second ticking and 10 ticks/sec by default (incl. with pg_cron) 🧩 pg_cron, pg_timetable, pg_tle paths PgQue is a highly-efficient, zero-bloat Postgres queue built on top of on battle-proven Skype's PgQ. One SQL file to install, pg_cron to tick. Works in any Postgres.
5
7
45
2,452
pg_ash v1.4 is out • Long-term rollups: 1-minute and 1-hour rollup tables for longer storage • Configurable raw partitions: by default, 3 daily partitions, can be any number • Safer destructive operations: explicit confirmations needed • Hardened privileges: public access is restricted; guarded search paths; "ash.grant_reader('youruser');" • Stronger release gate: CI covers PostgreSQL 14–18, pg_cron and no-pg_cron modes, e2e tests, etc. pg_ash is Active Session History (ASH) implemented in pure SQL/PLpgSQL — no C extension build, no restart, no shared_preload_libraries. Works in any Postgres. Ask your AI agent to inject it "\i sql/ash-install.sql" and then analyze workload using functions – your AI will figure it out easily.
1
7
34
2,150
Upcoming PgQue 0.2 introduces subconsumers (PgQ's "cooperative consumers", reimplemented due to license uncertainty) -- this is how you can scale consumption almost linearly PgQue is a very efficient, zero-bloat Postgres queue. One SQL file to install, pg_cron or pg_timetable to tick. Works everywhere.
2
5
47
5,186
PostgresAI retweeted
Replying to @samokhvalov
@samokhvalov you've done an amazing job with pgque. I ran a new comparison of postgresql based job-queue (ish) systems over the weekend.
1
2
14
1,256
PgQue v0.1.0 is out. PgQ -- the Postgres queue system built at Skype 20 years ago for 1B-user-scale workloads -- repackaged for the managed-Postgres era. One SQL file. No C extension. No external daemon. pg_cron to tick. Why bother reviving a 2007 architecture? Every major Postgres queue in production today uses some flavor of SKIP LOCKED + UPDATE/DELETE. It works under light load. When you have more data and higher load, it degrades predictably. Then you get posts like these: - Brandur at Heroku, 2015: 60k job backlog in one hour from a single open transaction - PlanetScale, 2026: death spiral at 800 jobs/sec - River issue #59, awa issue #169 and so on, Oban's partitioning work, PGMQ's autovacuum tuning guide and duct-taping with pg_partman The core issue is how Postgres MVCC is implemented and how we deal with it. Dead tuples in the hot path, xmin horizon pinned, vacuum falling behind, query performance quickly degrades. This happens every time you run pg_dump, execute an analytical query, or have a lagging/unused logical replication slot. PgQ solved this in 2007 with snapshot-based batching and TRUNCATE rotation -- zero dead tuples in the event path, by design. But PgQ needed a C extension and an external daemon. Which means it doesn't run on RDS, Aurora, Cloud SQL, AlloyDB, Supabase, or Neon -- i.e., where most Postgres lives now. PgQue closes that gap. 💎 Pure SQL + PL/pgSQL (PgQ engine) 👩‍💻 \i sql/pgque.sql -- you're done 🕑 pg_cron replaces pgqd (optional, recommended) 💻 Python, Go, TypeScript client examples shipped 💙 Apache 2.0 Trade-off: end-to-end event delivery latency is up to a second, it depends on ticking frequency. If you need sub-3ms job dispatch, use River, Oban, or graphile-worker (and avoid anything that blocks xmin horizon). If you need high-throughput event streaming with fan-out inside Postgres -- Kafka-shaped, without Kafka and dealing with transactional outbox implementation -- this is the right shape of tool. Kudos to Marko Kreen and Skype engineers who implemented this decades ago, for the original PgQ, and to Alexander Kukushkin whose recent "Rediscovering PgQ" talk brought this quiet corner of the Postgres ecosystem back into view. Stars, issues, PRs, and honest criticism all welcome. Link 👇
6
51
6
350
35,030
cooking - @postgres_ai DB health matrix
2
4
31
3,525
rpg 0.10 release has improvements /ash – redesigned navigation: - ← → to pan through history - "cursor" to see wait event details for each ASH sample - zoom in/out are now on [ and ] And of course, there is new secret /rpg command. + a bunch of fixes and small improvements rpg is my FOSS experiment to rewrite psql in Rust, add TUI components, AI integration, ASH analysis, etc. – and eventually get modern CLI/TUI for Postgres
1
4
14
1,915
PostgresAI retweeted
New episode: "Long-running transactions" Nik and Michael discuss long-running transactions, including when they're harmless, when they cause issues, and how to mitigate those issues. 🎧 postgres.fm/episodes/long-ru… 📺 youtu.be/uSUpbUJM5Kk
5
37
1,929
For fun, I rewrote psql in Rust and integrated it with AI meet "rpg" -- an experimental CLI maybe, at some point, it will bring ideas to psql itself thoughts? link in the 1st comment
6
6
1
39
4,586
pg_ash v1.3 released -- Active Session History for Postgres, pure SQL. New in 1.3: - pg_cron now optional -- works with external schedulers - set_debug_logging() -- RAISE LOG per sampled session - pgss-dependent functions fail fast with clear errors - Azure Flexible Server compatibility - PG14-18 tested Install: \i sql/ash-install.sql No extensions, no restart. Works on RDS, Cloud SQL, AlloyDB, Supabase, etc.
2
16
52
3,047
pg_ash is out Postgres has no session history. When something was slow an hour ago, there's nothing to look at. pg_ash fixes that -- pure SQL, one file install, works on RDS/Cloud SQL/Supabase/self-hosted, anywhere where you have pg_stat_statements and pg_cron. No extension, no restarts, no provider approval. Just \i one file.
10
36
3
173
15,340
finally in @postgres_ai's Grafana -- query texts everywhere in query analysis, not only queryids with smart truncation
1
11
890
This is awesome – one more observability gap is closed in Postgres 19devel! after Metronome's Postgres MultiXact member space exhaustion incidents in 2025 (postgres.fm/episodes/multixa…), we had a couple of more cases, when customers came with the very same problem So for quite some time @postgres_ai monitoring covers it already – we see it as a mission to cover all cases we've learned so all customers and users have tooling to avoid various cliffs and in case shit happens – how to escape ASAP. So we added it, but only for self-hosted Postgres and RDS (they expose it with special functions) – monitoring of pg_multixact/members subdir size. Great to see that this kind of monitoring will be possible for all Postgres users when 19 is out – already planned to ship it – gitlab.com/postgres-ai/postg…
PostgreSQL 19 dev: Add pg_get_multixact_stats() Author: Naga Appani git.postgresql.org/gitweb/?p…
2
10
1,100