<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>-=vyruss=- / blog</title><link href="https://vyruss.org/blog/" rel="alternate"></link><link href="https://vyruss.org/blog/feeds/all.atom.xml" rel="self"></link><id>https://vyruss.org/blog/</id><updated>2026-05-13T13:37:00+01:00</updated><entry><title>pg_statviz 1.0 released with AI-powered analysis</title><link href="https://vyruss.org/blog/pg_statviz-1-0-released-ai-analysis.html" rel="alternate"></link><published>2026-05-13T13:37:00+01:00</published><updated>2026-05-13T13:37:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-05-13:/blog/pg_statviz-1-0-released-ai-analysis.html</id><summary type="html">&lt;p&gt;Extension pg_statviz for time series analysis &amp;amp; visualization of Postgres internal statistics has released version 1.0 with an optional AI analysis mode that produces per-module HTML reports with chart commentary, threshold verdicts, and concrete remediation advice from a cloud or local LLM.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;img alt="pg_statviz logo" src="images/pg_statviz_hires.png" style="width:33%" title="pg_statviz logo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm excited to announce &lt;a href="https://github.com/vyruss/pg_statviz/releases/tag/v1.0"&gt;&lt;strong&gt;release 1.0&lt;/strong&gt;&lt;/a&gt; of &lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;strong&gt;&lt;code&gt;pg_statviz&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;, the minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics.&lt;/p&gt;
&lt;p&gt;This is a major release that introduces a new optional capability: &lt;strong&gt;AI-powered analysis&lt;/strong&gt;. With the new &lt;code&gt;--ai&lt;/code&gt; flag, each chart's data and PNG are sent to a vision-capable LLM along with Senior PostgreSQL DBA-level context, and the model produces a &lt;strong&gt;[HEALTHY] / [WARNING] / [CRITICAL]&lt;/strong&gt; verdict, a short interpretation, and a concrete remediation step for any [WARNING] or [CRITICAL] finding. Reports are written as HTML pages, created alongside the chart PNGs, with a top-level &lt;code&gt;index.html&lt;/code&gt; synthesising the per-module findings into a single summary.&lt;/p&gt;
&lt;p&gt;&lt;a href="images/pg_statviz_ai_report_sample.png"&gt;&lt;img alt="AI report sample" src="images/pg_statviz_ai_report_sample.png" title="AI report sample"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The new features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Three AI providers, one flag&lt;/strong&gt;: &lt;code&gt;--ai claude&lt;/code&gt; for Anthropic Claude (the default), &lt;code&gt;--ai gemini&lt;/code&gt; for Google AI Studio's free-tier Gemini 2.5 Flash, and &lt;code&gt;--ai local&lt;/code&gt; for an &lt;a href="https://ollama.com/"&gt;Ollama&lt;/a&gt; instance running a vision-capable model such as &lt;code&gt;gemma4:e4b&lt;/code&gt; (the recommended local default). All three are entirely optional: &lt;code&gt;pg_statviz&lt;/code&gt; still installs and runs with zero AI dependencies, and the new &lt;code&gt;[ai]&lt;/code&gt; extra (&lt;code&gt;pip install pg_statviz[ai]&lt;/code&gt;) pulls in only what you ask for.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per-module HTML reports&lt;/strong&gt; embed each chart PNG and render the LLM's markdown analysis with status badges and styled paragraphs. A new top-level &lt;code&gt;index.html&lt;/code&gt; report aggregates per-chart verdicts and asks the model to &lt;strong&gt;synthesise&lt;/strong&gt; them, identifying correlated patterns across charts (for example, a WAL spike alongside long-running sessions) and surfacing the single most important next action.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deterministic rules engine&lt;/strong&gt; runs checks on the actual numeric data before the LLM call. Findings are injected into the prompt as additional context, and a &lt;strong&gt;severity floor&lt;/strong&gt; enforces that the final verdict can never be downgraded below the worst rule finding, so an overly optimistic LLM can't quietly hide a real problem.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Configuration-aware prompts&lt;/strong&gt;: the relevant &lt;code&gt;pg_settings&lt;/code&gt; for each chart (&lt;code&gt;shared_buffers&lt;/code&gt; and &lt;code&gt;bgwriter_*&lt;/code&gt; for buffers, &lt;code&gt;checkpoint_*&lt;/code&gt; and &lt;code&gt;max_wal_size&lt;/code&gt; for checkpoints, &lt;code&gt;max_connections&lt;/code&gt; for connections, etc.) are pulled from the captured config snapshot and rendered into the per-module prompt, so the model's advice is grounded in your actual server rather than generic folklore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Calibration block&lt;/strong&gt; in the system prompt explicitly debunks common PostgreSQL myths (the &lt;em&gt;"25% of RAM for shared_buffers"&lt;/em&gt; rule of thumb, the default &lt;code&gt;random_page_cost=4&lt;/code&gt;, naive &lt;code&gt;work_mem × max_connections&lt;/code&gt; arithmetic) so the model doesn't recommend changes that aren't really warranted.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt-injection containment&lt;/strong&gt;: every piece of user-derived data is wrapped in &lt;code&gt;&amp;lt;user_data&amp;gt;...&amp;lt;/user_data&amp;gt;&lt;/code&gt; envelopes, and the system prompt instructs the model never to treat that content as instructions. This makes the analysis robust against unexpected values in configuration, role names, slot names, query text, or anywhere else.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also includes some &lt;strong&gt;maintenance and optimizations&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;analyze&lt;/code&gt; orchestrator now gracefully continues if a single module finds no snapshot data, instead of aborting the whole run at that point.&lt;/li&gt;
&lt;li&gt;Test fixes for the I/O rate calculations and added coverage for the new AI functionality.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;pg_statviz&lt;/code&gt; takes the view that everything should be light and &lt;strong&gt;minimal&lt;/strong&gt;. Unlike commercial monitoring platforms, it doesn't require invasive agents or open connections to the database: it all lives inside your database.
The extension is plain SQL and PL/pgSQL and doesn't require modules to be loaded, the visualization utility is separate and can be run from anywhere, and your data is free and easy to export. The new AI analysis is &lt;strong&gt;fully optional&lt;/strong&gt; and opt-in: if you don't pass &lt;code&gt;--ai&lt;/code&gt;, &lt;code&gt;pg_statviz&lt;/code&gt; behaves exactly as before, with no extra dependencies and no calls to anything outside your machine.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pg_statviz&lt;/code&gt; only collects PostgreSQL internal statistics and metadata: no application data. However, be aware that if you use a third-party API rather than a local LLM, you are effectively uploading those statistics to someone else's server, with the security and privacy implications that may have, and the LLM provider's terms of use probably permit using your input for further training of their product. If you want strict local-only operation, use &lt;code&gt;--ai local&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="images/ai_apis.png"&gt;&lt;img alt="Local analysis vs cloud-API analysis" src="images/ai_apis.png" title="Local analysis vs cloud-API analysis"&gt;&lt;/a&gt;
&lt;small&gt;Handy illustration from &lt;a href="https://hubs.la/Q03Hcbkj0"&gt;my book&lt;/a&gt; 🙂.&lt;/small&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can download and install &lt;code&gt;pg_statviz&lt;/code&gt; from the PostgreSQL repositories or &lt;a href="https://pgxn.org/dist/pg_statviz/"&gt;PGXN&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The utility can also be installed from &lt;a href="https://pypi.org/project/pg_statviz/"&gt;PyPi&lt;/a&gt;; for the AI features use &lt;code&gt;pip install pg_statviz[ai]&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vyruss/pg_statviz/tree/master?tab=readme-ov-file#manual-installation"&gt;Manual installation&lt;/a&gt; is also possible.&lt;/li&gt;
&lt;/ul&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="dba"></category><category term="extensions"></category><category term="ai"></category></entry><entry><title>PostgresEDI April 2026 Meetup Recap &amp; May Lightning Talks</title><link href="https://vyruss.org/blog/postgresedi-april-2026-meetup-and-may-lightning-talks.html" rel="alternate"></link><published>2026-04-29T12:00:00+01:00</published><updated>2026-04-29T12:00:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-04-29:/blog/postgresedi-april-2026-meetup-and-may-lightning-talks.html</id><summary type="html">&lt;p&gt;A look back at our April meetup and a call for speakers for our May Lightning Talks event! Test your talk before the PGDay UK CFP deadline.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Another great evening for the PostgresEDI community! 🐘&lt;/p&gt;
&lt;p&gt;First off, a massive &lt;strong&gt;thank you&lt;/strong&gt; to everyone who came out to our April meetup. The discussions were brilliant, and it's amazing to see new faces come to experience the friendly environment at our meetups.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/blog/images/april2026_1.jpg"&gt;&lt;img alt="PostgresEDI April 2026 Meetup 1" src="https://vyruss.org/blog/images/april2026_1.jpg" title="PostgresEDI April 2026 Meetup 1"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/blog/images/april2026_2.jpg"&gt;&lt;img alt="PostgresEDI April 2026 Meetup 2" src="https://vyruss.org/blog/images/april2026_2.jpg" title="PostgresEDI April 2026 Meetup 2"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/blog/images/april2026_3.jpg"&gt;&lt;img alt="Hugo Tunius on stage at PostgresEDI April 2026 Meetup" src="https://vyruss.org/blog/images/april2026_3.jpg" title="Hugo Tunius on stage at PostgresEDI April 2026 Meetup"&gt;&lt;/a&gt;
&lt;small&gt;&lt;em&gt;&lt;a href="https://hugotunius.se/"&gt;Hugo Tunius&lt;/a&gt; presenting at the April meetup.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;We had a fantastic technical dive this month, with &lt;strong&gt;&lt;a href="https://hugotunius.se/"&gt;Hugo Tunius&lt;/a&gt;&lt;/strong&gt; taking the stage to talk about &lt;strong&gt;plid&lt;/strong&gt; — a custom ULID-inspired ID type with prefix support that fits in 128 bits, which he built as a Postgres extension using Rust and &lt;code&gt;pgrx&lt;/code&gt;. You can check out his complete &lt;strong&gt;&lt;a href="https://github.com/k0nserv/plid/blob/main/docs/slides.pdf"&gt;slides on GitHub&lt;/a&gt;&lt;/strong&gt; if you want to dig into the technical details!&lt;/p&gt;
&lt;p&gt;After that, I (&lt;strong&gt;&lt;a href="/computing/"&gt;Jimmy Angelakos&lt;/a&gt;&lt;/strong&gt;) stepped up to do a bit of live coding on stage, walking through some common mistakes and showing &lt;strong&gt;&lt;a href="https://www.linkedin.com/events/7443380201146990595/"&gt;how to fix bad SQL queries in Postgres&lt;/a&gt;&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;It is always so great to see the energy in the room, with people sticking around to chat, ask questions, and share their own database stories. &lt;/p&gt;
&lt;h2&gt;What's Next? Lightning Talks! ⚡&lt;/h2&gt;
&lt;p&gt;For our next meetup in May, we are mixing things up with a &lt;strong&gt;Lightning Talks&lt;/strong&gt; format!&lt;/p&gt;
&lt;p&gt;We already have a great lineup taking shape:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I tried TimescaleDB for weather data&lt;/strong&gt; — &lt;em&gt;&lt;a href="https://river.cat/"&gt;River MacLeod&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ROLLUPs and CUBEs&lt;/strong&gt; — &lt;em&gt;&lt;a href="https://jimgar.github.io/"&gt;Jim Gardner&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LISTEN Carefully: How NOTIFY Can Trip Up Your Database&lt;/strong&gt; — &lt;em&gt;Jimmy Angelakos&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;We Want You to Speak!&lt;/h3&gt;
&lt;p&gt;We're going to have lightning talks, and we'd love for you to submit! If you are a first-time speaker, even better—please let us know, and we will absolutely put you on the programme. Lightning talks are the perfect, low-pressure way to dip your toes into public speaking.&lt;/p&gt;
&lt;p&gt;Even better, we encourage you to use our meetup as a &lt;strong&gt;springboard&lt;/strong&gt; or a &lt;strong&gt;dry run&lt;/strong&gt; to test your talk before submitting it to a major conference. Speaking of which, the &lt;strong&gt;&lt;a href="https://2026.pgday.uk/cfp"&gt;Call for Papers (CFP)&lt;/a&gt;&lt;/strong&gt; for &lt;strong&gt;&lt;a href="https://2026.pgday.uk/"&gt;PGDay UK 2026&lt;/a&gt;&lt;/strong&gt; closes on &lt;strong&gt;May 12th&lt;/strong&gt;! The conference takes place in London on September 8th, so this is the perfect opportunity to practice your pitch in front of a friendly local crowd.&lt;/p&gt;
&lt;h2&gt;Join Us!&lt;/h2&gt;
&lt;p&gt;As always, the event is completely &lt;strong&gt;free&lt;/strong&gt;, kindly sponsored by &lt;a href="https://www.pgedge.com/"&gt;pgEdge&lt;/a&gt;, but registration is required so we can get the numbers right for the food and refreshments!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Register here:&lt;/strong&gt; 👇&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://luma.com/91uvudnu"&gt;🎟️ luma.com/91uvudnu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you have a lightning talk idea or just want to get involved in organising the meetups, please drop me an email at &lt;code&gt;vyruss000&lt;/code&gt; (at) &lt;code&gt;gmail.com&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Make sure you are following us for updates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Luma calendar:&lt;/strong&gt; &lt;a href="https://luma.com/PostgresEDI"&gt;luma.com/PostgresEDI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/company/postgresedi/"&gt;linkedin.com/company/postgresedi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mastodon:&lt;/strong&gt; &lt;a href="https://fosstodon.org/@PostgresEDI"&gt;@PostgresEDI@fosstodon.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bluesky:&lt;/strong&gt; &lt;a href="https://bsky.app/profile/postgresedi.bsky.social"&gt;@postgresedi.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See you in May! 🍕&lt;/p&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="edinburgh"></category><category term="community"></category><category term="meetups"></category><category term="developer"></category><category term="pgdayuk"></category><category term="postgresedi"></category></entry><entry><title>SCaLE 23x and CloudNativePG: Robust, Self-Healing PostgreSQL on Kubernetes</title><link href="https://vyruss.org/blog/scale-23x-cloudnativepg-robust-self-healing-postgresql-kubernetes.html" rel="alternate"></link><published>2026-03-17T13:37:00+00:00</published><updated>2026-03-17T13:37:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-03-17:/blog/scale-23x-cloudnativepg-robust-self-healing-postgresql-kubernetes.html</id><summary type="html">&lt;p&gt;I just came back from SCaLE 23x! This year I spoke about running robust, self-healing PostgreSQL on Kubernetes with CloudNativePG, and caught up with community legends.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="images/scale_23x.jpeg"&gt;&lt;img alt="Obligatory selfie from SCaLE 23x" src="images/scale_23x.jpeg" title="Jimmy Angelakos in front of SCaLE 23x at the Pasadena Convention Center"&gt;&lt;/a&gt;
&lt;small&gt;&lt;em&gt;Obligatory selfie from SCaLE 23x&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;The 23rd edition of the Southern California Linux Expo, or &lt;strong&gt;&lt;a href="https://www.socallinuxexpo.org/scale/23x"&gt;SCaLE 23x&lt;/a&gt;&lt;/strong&gt;, took place from March 5-8, 2026, in Pasadena, California. It was another fantastic community-run event with talks you don't get to hear anywhere else, and that incredible open-source community spirit.&lt;/p&gt;
&lt;p&gt;One of the major bonuses of the event was attending one of the legendary fathers of the Internet's closing keynote, &lt;strong&gt;Doug Comer's talk &lt;a href="https://www.socallinuxexpo.org/scale/23x/presentations/keynote-software-distribution-now-and-then-why-and-how-internet-changed"&gt;"Software Distribution Now and Then: Why and How the Internet Changed"&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;While I didn't broadcast any live streams from the conference floor this year, I did end up catching some great talks (fortunately everything's recorded!) and having some deeply rewarding hallway track conversations.
A highlight was catching up with folks from &lt;a href="https://www.lpi.org/"&gt;LPI&lt;/a&gt;, the legendary &lt;strong&gt;Jon "maddog" Hall&lt;/strong&gt;, and &lt;strong&gt;Henrietta Dombrovskaya&lt;/strong&gt;. We had a great discussion around our ongoing &lt;strong&gt;PostgreSQL Compatibility initiative&lt;/strong&gt;: We are continuing to define what "Postgres Compatible" truly means to prevent market confusion and ensure a reliable "standard" for users. If you are interested in contributing to this effort, come join the conversation on our new Discord server:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PostgreSQL Compatibility Work Group Discord:&lt;/strong&gt; &lt;a href="https://discord.gg/NVKkueGB"&gt;discord.gg/NVKkueGB&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;PostgreSQL @ SCaLE 23x&lt;/h2&gt;
&lt;p&gt;Postgres once again had a stellar presence at SCaLE with a dedicated PostgreSQL track. We had an entire lineup of trainings and talks, plus a PostgreSQL Booth in the expo hall and the always-popular SCaLE 23x PostgreSQL Ask Me Anything session. A massive thank you to the organizers of &lt;a href="https://www.postgresql.org/about/event/postgresqlscale23x-2565/"&gt;PostgreSQL@SCaLE&lt;/a&gt;, the trainers, speakers, and all the volunteers who made it happen!&lt;/p&gt;
&lt;p&gt;On &lt;strong&gt;Friday, March 6th&lt;/strong&gt;, I had the pleasure of delivering my talk, &lt;strong&gt;&lt;a href="https://www.socallinuxexpo.org/scale/23x/presentations/cloudnativepg-robust-self-healing-postgresql-kubernetes"&gt;"CloudNativePG: Robust, Self-Healing PostgreSQL on Kubernetes"&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="images/scale_23x_talk.jpeg"&gt;&lt;img alt="Great slide transition as Jimmy is presenting CloudNativePG at SCaLE 23x" src="images/scale_23x_talk.jpeg" title="Great slide transition as Jimmy is presenting CloudNativePG at SCaLE 23x: Walken cowbell meme &amp;quot;I GOTTA HAVE MORE YAML!&amp;quot;superimposed over some YAML"&gt;&lt;/a&gt;
&lt;small&gt;&lt;em&gt;Great slide transition as Jimmy is presenting CloudNativePG at SCaLE 23x. Many thanks to &lt;a href="https://bsky.app/profile/joshleecreates.bsky.social"&gt;Josh Lee&lt;/a&gt; for the photo!&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;The session offered insight into how we can stop treating database instances like delicate flowers and utilize modern infrastructure-as-code. We covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://cloudnative-pg.io/"&gt;CloudNativePG (CNPG)&lt;/a&gt;&lt;/strong&gt; as an open-source Kubernetes operator for PostgreSQL.&lt;/li&gt;
&lt;li&gt;How CNPG embraces Kubernetes natively, using a declarative approach rather than fighting the orchestrator. &lt;/li&gt;
&lt;li&gt;The recommended shared-nothing architecture across 3+ availability zones.&lt;/li&gt;
&lt;li&gt;A live demo where we spun up a cluster and actively broke it to watch the operator's reconciliation loop and self-healing in real-time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you missed it, you can catch the recording and the slides below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=XM5VohV4r8c"&gt;youtube.com/watch?v=XM5VohV4r8c&lt;/a&gt; &lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/XM5VohV4r8c?si=LFT5X1g7qm81wmQc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/scale23x_cloudnativepg.pdf"&gt;vyruss.org/computing/slides/scale23x_cloudnativepg.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As always, a huge thanks to the SCaLE organizers and the community for making this such a welcoming and educational space.&lt;/p&gt;
&lt;p&gt;On the occasion of the conference, Manning Publications has been kind enough to create a &lt;strong&gt;discount code&lt;/strong&gt;. You can use &lt;strong&gt;scale23x&lt;/strong&gt; to get 45% off any product (including my book, &lt;strong&gt;&lt;a href="http://mng.bz/vKd4"&gt;PostgreSQL Mistakes and How to Avoid Them&lt;/a&gt;&lt;/strong&gt;) until March 22nd, 2026!&lt;br&gt;
After that, you can use my regular promo code &lt;strong&gt;au35ang&lt;/strong&gt; for a 35% discount.&lt;/p&gt;
&lt;p&gt;&lt;a href="images/postgresql_mistakes.jpg"&gt;&lt;img alt="PostgreSQL Mistakes and How to Avoid Them" src="images/postgresql_mistakes.jpg" style="width:33%" title="PostgreSQL Mistakes and How to Avoid Them cover"&gt;&lt;/a&gt;&lt;br&gt;
&lt;small&gt;&lt;em&gt;PostgreSQL Mistakes and How to Avoid Them&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="scale"></category><category term="dba"></category><category term="developer"></category><category term="community"></category><category term="conferences"></category><category term="kubernetes"></category><category term="cnpg"></category></entry><entry><title>PostgresEDI Feb 2026 Meetup — Two Talks</title><link href="https://vyruss.org/blog/postgresedi-feb-2026-meetup-two-talks.html" rel="alternate"></link><published>2026-02-13T17:00:00+00:00</published><updated>2026-02-13T17:00:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-02-13:/blog/postgresedi-feb-2026-meetup-two-talks.html</id><summary type="html">&lt;p&gt;A recap of our second meetup! Slides and resources from Alastair Turner's talk on client failover and Sean Hammond's deep dive into transactional job queues.&lt;/p&gt;</summary><content type="html">&lt;p&gt;What a great follow-up for our second PostgresEDI meetup! 🐘&lt;/p&gt;
&lt;p&gt;First off, a huge &lt;strong&gt;thank you for braving the snow 🌨️ last evening in Edinburgh &lt;/strong&gt;, and many thanks to the two speakers who made it a great night.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/blog/images/feb2026meetup.jpg"&gt;&lt;img alt="Obligatory title slide" src="https://vyruss.org/blog/images/feb2026meetup.jpg" title="Obligatory title slide"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We gathered at the University of Edinburgh's &lt;a href="https://maps.app.goo.gl/APJb2HpkJQWhh74t8"&gt;Lister Learning and Teaching Centre&lt;/a&gt; for another evening of networking and technical deep dives. Pizza and refreshments were kindly sponsored by &lt;a href="https://www.pgedge.com/"&gt;pgEdge&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It was great to see familiar faces from our launch event as well as new ones too, from application developers eager to learn more about the ecosystem to seasoned systems/database administrators.&lt;/p&gt;
&lt;p&gt;For those who couldn't make it, or for those who want to revisit the technical details, here is a recap of the talks with slides and resources.&lt;/p&gt;
&lt;h2&gt;The Talks&lt;/h2&gt;
&lt;h3&gt;Follow My Leader — connecting client applications after server cutover or failover&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Alastair Turner (&lt;a href="https://percona.com"&gt;Percona&lt;/a&gt;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/blog/images/alastair.jpg"&gt;&lt;img alt="Alastair Turner presenting at the PostgreSQL Edinburgh meetup" src="https://vyruss.org/blog/images/alastair.jpg" title="Alastair Turner breaking down connection handling during failover events."&gt;&lt;/a&gt;
&lt;small&gt;&lt;em&gt;Alastair Turner breaking down connection handling during failover events.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/decodableminion/"&gt;Alastair&lt;/a&gt; kicked off the evening with a critical look at the often-hidden "drama" of a failover. It's one thing to promote a replica successfully, but it's entirely another to ensure your client applications can gracefully reconnect to the right Postgres instance.&lt;/p&gt;
&lt;p&gt;He framed the solution through the "Dramatis Personae" of the stack: the Application, Network, and Database teams, walking us through options ranging from &lt;strong&gt;client library configurations&lt;/strong&gt; to &lt;strong&gt;network-level solutions&lt;/strong&gt; like HAProxy, PgBouncer, or VIP managers. Crucially, he showed how to pick the right approach based on your environment and your appetite for complexity. A practical talk that resonates with everyone running Postgres in production.&lt;/p&gt;
&lt;p&gt;📊 &lt;strong&gt;View the slides:&lt;/strong&gt; &lt;a href="https://github.com/decodableminion/presentations/blob/main/Follow%20My%20Leader.Postgres%20Edinburgh.202602.pdf"&gt;Follow my Leader — connecting client applications after server cutover or failover (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3&gt;Transactional Job Queues and the Two Generals' Problem&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Sean Hammond (&lt;a href="https://seanh.cc"&gt;seanh.cc&lt;/a&gt;)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/blog/images/sean.jpg"&gt;&lt;img alt="Sean Hammond presenting at the PostgreSQL Edinburgh meetup" src="https://vyruss.org/blog/images/sean.jpg" title="Sean Hammond discussing the complexities of the Two Generals' Problem."&gt;&lt;/a&gt;
&lt;small&gt;&lt;em&gt;Sean Hammond discussing the complexities of the Two Generals' Problem.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;After the break, &lt;a href="https://www.linkedin.com/in/sean-hammond-412b8425/"&gt;Sean&lt;/a&gt; took the stage with a proper "story from the trenches". He told the tale of the worst outage in a decade of running &lt;a href="https://web.hypothes.is/"&gt;Hypothesis&lt;/a&gt;: a RabbitMQ failure that not only brought the service to its knees, but silently caused over 21,000 annotations to be saved to Postgres but never indexed into Elasticsearch.&lt;/p&gt;
&lt;p&gt;Users were told their work was saved successfully. It wasn't. Sean then walked us through the futureproofing fix: a transactional &lt;code&gt;job&lt;/code&gt; table in Postgres that guarantees eventual consistency, with direct indexing for speed and periodic re-indexing for reliability. Wonderful in that it was all about learning from failure and building resilience into systems.&lt;/p&gt;
&lt;p&gt;📝 &lt;strong&gt;Read the article:&lt;/strong&gt; &lt;a href="https://www.seanh.cc/2026/01/29/transactional-job-queues/"&gt;Transactional Job Queues&lt;/a&gt;&lt;br&gt;
📊 &lt;strong&gt;View the slides:&lt;/strong&gt; &lt;a href="https://www.seanh.cc/static/transactional_job_queues_and_the_two_generals_problem.pdf"&gt;Transactional Job Queues and the Two Generals' Problem (PDF)&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;It's only our second event but the energy in the room is there. People stick around after the talks to chat, ask follow-up questions, and swap stories. That's exactly what we aim to build: a space for the Postgres community in Edinburgh and the North of the UK to connect, share, and learn.&lt;/p&gt;
&lt;h2&gt;What's Next?&lt;/h2&gt;
&lt;p&gt;We are already working on the next event! Our next meetup is on &lt;strong&gt;Thursday, March 12th&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Register here:&lt;/strong&gt; 👇&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://luma.com/5pglgx8h"&gt;🎟️ luma.com/5pglgx8h&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We need speakers and help! If you have an idea for a talk, a story to share, or just want to get involved in volunteering, please drop me an email at &lt;code&gt;vyruss000&lt;/code&gt; (at) &lt;code&gt;gmail.com&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Make sure you are following us for updates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Luma calendar:&lt;/strong&gt; &lt;a href="https://luma.com/PostgresEDI"&gt;luma.com/PostgresEDI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/company/postgresedi/"&gt;linkedin.com/company/postgresedi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mastodon:&lt;/strong&gt; &lt;a href="https://fosstodon.org/@PostgresEDI"&gt;@PostgresEDI@fosstodon.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bluesky:&lt;/strong&gt; &lt;a href="https://bsky.app/profile/postgresedi.bsky.social"&gt;@postgresedi.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks again to Alastair and Sean for two excellent talks, to the UoE for hosting us, and to everyone who came along. See you at the next one! 🍕&lt;/p&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="edinburgh"></category><category term="community"></category><category term="meetups"></category><category term="developer"></category><category term="HA"></category><category term="elasticsearch"></category><category term="postgresedi"></category></entry><entry><title>FOSDEM 2026 — Defining "Drop-in Replacement" and Beyond</title><link href="https://vyruss.org/blog/fosdem-2026-defining-drop-in-replacement-and-beyond.html" rel="alternate"></link><published>2026-02-06T18:00:00+00:00</published><updated>2026-02-06T18:00:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-02-06:/blog/fosdem-2026-defining-drop-in-replacement-and-beyond.html</id><summary type="html">&lt;p&gt;A recap of FOSDEM 2026 in Brussels, where Daniël van Eeden and I explored what "compatible" really means for databases, plus an announcement for the next session in Vancouver!&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Obligatory photo from FOSDEM 2026. Credit: Marcelo Altmann" src="images/fosdem2026_stage.jpg" title="Jimmy Angelakos and Daniël van Eeden on stage at FOSDEM 2026. Credit: Marcelo Altmann"&gt;&lt;/p&gt;
&lt;p&gt;Back from Brussels where I was doing the annual pilgrimage to the awesome &lt;strong&gt;&lt;a href="https://fosdem.org/2026"&gt;FOSDEM&lt;/a&gt;&lt;/strong&gt; gathering. I was very pleased to see the popularity and positive vibe of the (first time) joint Databases Devroom. Community-oriented and community-run conferences are the best IMHO.&lt;/p&gt;
&lt;p&gt;It was great to share the stage this time with &lt;strong&gt;Daniël van Eeden&lt;/strong&gt;, an engineer from PingCAP and a MySQL Rockstar. I enjoyed the collaboration because we approached a thorny issue from two different aspects: the PostgreSQL emerging standard and the implementation of MySQL compatibility.&lt;/p&gt;
&lt;h2&gt;The Talk: "Drop-in Replacement"&lt;/h2&gt;
&lt;p&gt;Our presentation, &lt;strong&gt;"Drop-in Replacement: Defining Compatibility for Postgres and MySQL Derivatives"&lt;/strong&gt;, tackled a problem in our industry: the "wild west" of marketing claims. The success of open source databases has created an ecosystem of derivatives claiming "drop-in compatibility."&lt;/p&gt;
&lt;p&gt;The reality, however, is that this often leads to user confusion and brand dilution. As we discussed, compatibility is not an absolute Yes/No situation—even different versions of the same database are not 100% compatible due to deprecated or added features.&lt;/p&gt;
&lt;h3&gt;The Standard: The Riga Consensus&lt;/h3&gt;
&lt;p&gt;In my section of the talk, I focused on the governance perspective. I presented the findings from the &lt;a href="https://2025.pgconf.eu/community-events/establishing-the-postgresql-standard-whats-postgres-compatible/"&gt;"Establishing the PostgreSQL Standard" working group&lt;/a&gt; held at &lt;strong&gt;&lt;a href="https://2025.pgconf.eu"&gt;PGConf.EU 2025&lt;/a&gt;&lt;/strong&gt; in Riga last October.&lt;/p&gt;
&lt;p&gt;We are pivoting from a binary "Pass/Fail" certification to a granular compatibility matrix. We need to ensure that when someone says "Postgres Compatible," they don't just mean matching the wire protocol. We need to look at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Core SQL &amp;amp; Implicit Behaviours:&lt;/strong&gt; It's not just about functions; it's about undocumented behaviors users rely on, like how &lt;code&gt;INSERT ... SELECT ... ORDER BY&lt;/code&gt; behaves.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;System Catalogs:&lt;/strong&gt; Monitoring tools rely on the &lt;code&gt;pg_catalog&lt;/code&gt; being present and predictable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Silent Failures:&lt;/strong&gt; A command like &lt;code&gt;CREATE INDEX&lt;/code&gt; must actually build the index, not just return "success" while doing nothing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;The Implementation: The TiDB Experience&lt;/h3&gt;
&lt;p&gt;Daniël provided a very interesting look at the other side of the coin: the engineering reality of maintaining compatibility in &lt;strong&gt;TiDB&lt;/strong&gt;, a distributed database written in Go.&lt;/p&gt;
&lt;p&gt;He highlighted the "architectural friction" involved in making a distributed engine speak MySQL. For example, TiDB accepts the &lt;code&gt;ENGINE=InnoDB&lt;/code&gt; syntax to remain compatible, but silently ignores it because it uses TiKV (RocksDB) for storage. He also showed how "Explain" formats can diverge significantly because distributed query plans simply look different than local MySQL plans.&lt;/p&gt;
&lt;h2&gt;Watch the Talk&lt;/h2&gt;
&lt;p&gt;We had a great turnout and some excellent engagement from audience members after the talk. If you missed it, you can watch the recording below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=MXkdJH_ztpA"&gt;youtube.com/watch?v=MXkdJH_ztpA&lt;/a&gt; &lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/MXkdJH_ztpA?si=k3i3pRQZX5WOccT8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/fosdem2026_drop_in_replacement.pdf"&gt;vyruss.org/computing/slides/fosdem2026_drop_in_replacement.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Next Stop: Vancouver 🇨🇦&lt;/h2&gt;
&lt;p&gt;The conversation doesn't stop here. I am very excited to announce that we are taking this work to the next level at &lt;strong&gt;&lt;a href="https://2026.pgconf.dev/"&gt;PGConf.dev 2026&lt;/a&gt;&lt;/strong&gt; in Vancouver!&lt;/p&gt;
&lt;p&gt;Our session, &lt;strong&gt;"Establishing the PostgreSQL standard: What's Postgres compatible?"&lt;/strong&gt;, has been confirmed for the Community Open Discussion track.&lt;/p&gt;
&lt;p&gt;As PostgreSQL becomes "the new Linux" for the enterprise, defining compatibility is critical. Building upon the foundations already set in Riga and Brussels, we will be continuing work on the &lt;strong&gt;granular compatibility matrix&lt;/strong&gt; and &lt;strong&gt;test harness&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If you are going to be in Vancouver, please join us! We aim to leave the session with refined criteria, progress reports, and next steps for continued collaboration.&lt;/p&gt;
&lt;p&gt;Check out current goings-on at the PostgreSQL Wiki: &lt;a href="https://wiki.postgresql.org/wiki/PGConf.EU_2025_Establishing_the_PostgreSQL_standard_What_is_Postgres_compatible"&gt;Establishing the PostgreSQL standard — What is Postgres compatible&lt;/a&gt;.&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="fosdem"></category><category term="mysql"></category><category term="compatibility"></category><category term="community"></category><category term="standards"></category><category term="pgconfdev"></category></entry><entry><title>Panel Discussion: How to Work with Other Postgres People — PGConf.EU 2025</title><link href="https://vyruss.org/blog/panel-discussion-how-to-work-with-other-postgres-people.html" rel="alternate"></link><published>2026-01-29T13:37:00+00:00</published><updated>2026-01-29T13:37:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-01-29:/blog/panel-discussion-how-to-work-with-other-postgres-people.html</id><summary type="html">&lt;p&gt;Floor Drees, Karen Jex and I led a panel at PGConf.EU 2025 about neurodiversity, teamwork hacks, and how diverse minds collaborate in the PostgreSQL ecosystem. Moderator: Boriss Mejías&lt;/p&gt;</summary><content type="html">&lt;p&gt;I have to apologise — it's been months since 
&lt;a href="https://2025.pgconf.eu"&gt;PGConf.EU 2025&lt;/a&gt; in Riga, and I'm only now publishing 
this video. The delay was due to wanting to create 
accurate captions for the recording, which unfortunately took longer 
than expected. &lt;/p&gt;
&lt;p&gt;In this session, Floor Drees, Karen Jex, and I joined host 
Boriss Mejias to examine how diverse minds work 
together in the PostgreSQL ecosystem. We touched upon the 
psychology of teamwork and the importance of 
accommodating neurodiverse conditions like ADHD and 
ASD.&lt;/p&gt;
&lt;p&gt;A pleasant surprise for us during the session was the level of engagement from the audience. People 
connected deeply with the subject matter, turning the 
panel talk into a real conversation where we shared practical 
hacks — body doubling, "Pomodoro playlists", tactile 
focus tools like knitting, crocheting, and full-body fidget toys, and experiences with 
managers who actually "get it". &lt;/p&gt;
&lt;p&gt;Building awareness is the 
first step on a journey that can lead to better 
outcomes for everyone. We do believe some things need to 
be adapted, and we can work together to make this 
gradual change happen. &lt;/p&gt;
&lt;p&gt;Without further ado, I present 
the panel discussion below. I will be very happy to 
hear back from you at 
&lt;a href="https://fosstodon.org/@vyruss"&gt;@vyruss@fosstodon.org&lt;/a&gt; 
— your comments, your experiences, your testimonials. 
This is how we continue to raise awareness together. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; 
&lt;a href="https
://www.youtube.com/watch?v=PsxNhcBTrTU"&gt;youtube.com/watch?v=PsxNhcBTrTU&lt;/a&gt; &lt;iframe 
://width="100%" he
ight="350" 
src="https://www.youtube.com/embed/PsxNhcBTrTU?si=xql2676C158Y9h7k" title="YouTube video player" 
frameborder="0" al low="accelerometer; autoplay; 
clipboard-write; encrypted-media;
 gyroscope; picture-in-picture; web-share" 
 referrerpolicy="stri
ct-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="pgconfeu"></category><category term="neurodiversity"></category><category term="community"></category></entry><entry><title>Announcing the second PostgreSQL Edinburgh meetup</title><link href="https://vyruss.org/blog/second-postgresql-edinburgh-meetup.html" rel="alternate"></link><published>2026-01-14T15:33:00+00:00</published><updated>2026-01-14T15:33:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-01-14:/blog/second-postgresql-edinburgh-meetup.html</id><summary type="html">&lt;p&gt;The PostgreSQL Edinburgh meetup returns! February 12th @ the University of Edinburgh's Lister Learning and Teaching Centre (pizza, networking, and talks).&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="The Lister Learning and Teaching Centre at the University of Edinburgh" src="images/lister.jpeg" title="The Lister Learning and Teaching Centre at the University of Edinburgh"&gt;
&lt;small&gt;&lt;em&gt;The Lister Learning and Teaching Centre at the University of Edinburgh. Photo by &lt;a href="https://www.pzphotography.com/"&gt;Paul Zanre&lt;/a&gt; - COPYRIGHT: PAUL ZANRE PHOTOGRAPHY.&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;I'm thrilled to announce that the &lt;strong&gt;PostgreSQL Edinburgh meetup&lt;/strong&gt; is back! 🐘&lt;/p&gt;
&lt;p&gt;After a fantastic launch, we are gathering again on &lt;strong&gt;Thursday, February 12th&lt;/strong&gt;. We'll be meeting at the University of Edinburgh's &lt;strong&gt;&lt;a href="https://maps.app.goo.gl/APJb2HpkJQWhh74t8"&gt;Lister Learning and Teaching Centre&lt;/a&gt;&lt;/strong&gt; for another evening to talk tech, eat pizza, and get to know each other.&lt;/p&gt;
&lt;p&gt;Whether you're a seasoned DBA, an app developer just getting started with databases, or simply curious about high availability and search integrations, this meetup is for you. &lt;strong&gt;All levels are welcome!&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;The Agenda&lt;/h2&gt;
&lt;p&gt;Here's the schedule for our second outing, featuring two insightful technical talks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;18:00:&lt;/strong&gt; Doors Open, Pizza &amp;amp; Networking 🍕&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18:55:&lt;/strong&gt; Introductions &amp;amp; Community Announcements&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;19:00:&lt;/strong&gt; &lt;strong&gt;Follow Your Leader&lt;/strong&gt; — &lt;em&gt;Alastair Turner (&lt;a href="https://percona.com"&gt;Percona&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;19:40:&lt;/strong&gt; Break&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20:00:&lt;/strong&gt; &lt;strong&gt;Postgres to Elasticsearch Syncing: A "War Story"&lt;/strong&gt; — &lt;em&gt;Sean Hammond (&lt;a href="https://seanh.cc"&gt;seanh.cc&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20:45:&lt;/strong&gt; Event End&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Talks&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Follow Your Leader&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Alastair Turner&lt;/strong&gt; from Percona joins us to dive deep into high availability. He will be sharing the critical mechanics of how to ensure availability after a failover occurs—a vital topic for anyone running Postgres in production.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Postgres to Elasticsearch Syncing&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Sean Hammond&lt;/strong&gt; will be sharing a "war story" about a legendary outage. He'll walk us through the complexities and challenges encountered when syncing data between Postgres and Elasticsearch, offering lessons learned.&lt;/p&gt;
&lt;h2&gt;Join Us!&lt;/h2&gt;
&lt;p&gt;This event is completely &lt;strong&gt;free&lt;/strong&gt;, but registration is required so we can get the numbers right for the food &amp;amp; refreshments!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Register here&lt;/strong&gt; 👇&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://luma.com/uj0qvxqk"&gt;🎟️  luma.com/uj0qvxqk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The meetup is bound by the &lt;a href="https://www.postgresql.org/about/policies/coc/"&gt;PostgreSQL Code of Conduct&lt;/a&gt;. We are also looking for volunteer help (greeting attendees, logistics, etc.) for this and future meetups. If you can help, please drop me an email at &lt;code&gt;vyruss000&lt;/code&gt; (at) &lt;code&gt;gmail.com&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Follow our community updates here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/company/postgresedi/"&gt;linkedin.com/company/postgresedi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mastodon:&lt;/strong&gt; &lt;a href="https://fosstodon.org/@PostgresEDI"&gt;@PostgresEDI@fosstodon.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bluesky:&lt;/strong&gt; &lt;a href="https://bsky.app/profile/postgresedi.bsky.social"&gt;@postgresedi.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Luma calendar:&lt;/strong&gt; &lt;a href="https://luma.com/PostgresEDI"&gt;luma.com/PostgresEDI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I can't wait to see you there as we continue to build this new chapter for the PostgreSQL community in the North of the UK.&lt;/p&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="edinburgh"></category><category term="community"></category><category term="meetups"></category><category term="developer"></category><category term="availability"></category><category term="elasticsearch"></category><category term="postgresedi"></category></entry><entry><title>pg_statviz 0.9 released with new features</title><link href="https://vyruss.org/blog/pg_statviz-0.9-released.html" rel="alternate"></link><published>2026-01-12T20:30:00+00:00</published><updated>2026-01-12T20:30:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2026-01-12:/blog/pg_statviz-0.9-released.html</id><summary type="html">&lt;p&gt;Extension pg_statviz for time series analysis &amp;amp; visualization of Postgres internal statistics has released version 0.9 with configuration change timelines, new modules for replication, SLRU, and session age.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;img alt="pg_statviz logo" src="images/pg_statviz_hires.png" style="width:33%" title="pg_statviz logo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Happy New Year! I'm excited to announce &lt;a href="https://github.com/vyruss/pg_statviz/releases/tag/v0.9"&gt;&lt;strong&gt;release 0.9&lt;/strong&gt;&lt;/a&gt; of &lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;strong&gt;&lt;code&gt;pg_statviz&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;, the minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics.&lt;/p&gt;
&lt;p&gt;This is a significant &lt;strong&gt;feature release&lt;/strong&gt; that expands the scope of analysis to include several new modules and a visualization update:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Configuration changes visualization&lt;/strong&gt;: A major update providing a timeline view of PostgreSQL setting changes, allowing you to correlate performance shifts with configuration updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session activity age tracking&lt;/strong&gt;: The connection module now tracks &lt;code&gt;oldest_xact_age&lt;/code&gt;, &lt;code&gt;oldest_query_age&lt;/code&gt;, and &lt;code&gt;oldest_backend_age&lt;/code&gt;, helping you quickly identify long-running transactions and idle connections that may be holding resources or preventing vacuum cleanup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Replication statistics&lt;/strong&gt;: A new module provides visibility into high-availability setups, tracking standby lag from &lt;code&gt;pg_stat_replication&lt;/code&gt; and replication slot statistics from &lt;code&gt;pg_stat_replication_slots&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SLRU cache statistics&lt;/strong&gt;: New metrics for the Simple LRU buffer efficiency allow for better diagnosis of specific internal bottlenecks (like &lt;code&gt;multixact&lt;/code&gt; or &lt;code&gt;pg_xact&lt;/code&gt; contention).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Checksum failure tracking&lt;/strong&gt;: Added tracking for checksum failures via &lt;code&gt;pg_stat_database&lt;/code&gt; to assist in early detection of data corruption issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This release also includes important &lt;strong&gt;maintenance and optimizations&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Space optimization&lt;/strong&gt;: &lt;code&gt;snapshot_conf()&lt;/code&gt; has been optimized to only store configuration changes rather than saving values for every snapshot. The upgrade path automatically compacts existing duplicate configuration rows to reclaim space.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependency updates&lt;/strong&gt;: A GitHub Actions CI pipeline has been added, dependencies have been updated to their latest stable versions, and &lt;code&gt;argh&lt;/code&gt; has been pinned to &amp;lt;0.30 for CLI argument compatibility.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;pg_statviz&lt;/code&gt; takes the view that everything should be light and &lt;strong&gt;minimal&lt;/strong&gt;. Unlike commercial observability platforms, it doesn't require invasive agents or open connections to the database — it all lives inside your database.
The extension is plain SQL and PL/pgSQL and doesn't require modules to be loaded, the visualization utility is separate and can be run from anywhere, and your data is free and easy to export.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can download and install &lt;code&gt;pg_statviz&lt;/code&gt; from the PostgreSQL repositories or &lt;a href="https://pgxn.org/dist/pg_statviz/"&gt;PGXN&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The utility can also be installed from &lt;a href="https://pypi.org/project/pg_statviz/"&gt;PyPi&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vyruss/pg_statviz/tree/master?tab=readme-ov-file#manual-installation"&gt;Manual installation&lt;/a&gt; is also possible.&lt;/li&gt;
&lt;/ul&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="dba"></category><category term="extensions"></category></entry><entry><title>The Angelakos Prime Spiral: A New Way to Visualize Prime Numbers?</title><link href="https://vyruss.org/blog/prime-step-spiral-visualization.html" rel="alternate"></link><published>2025-12-19T13:37:00+00:00</published><updated>2025-12-19T13:37:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2025-12-19:/blog/prime-step-spiral-visualization.html</id><summary type="html">&lt;p&gt;A doodling habit led to what appears to be a novel way of visualizing prime numbers, using the primes as step lengths in a turtle walk. The result is a surprising geometric "proof" of the Prime Number Theorem.&lt;/p&gt;</summary><content type="html">&lt;p&gt;I... seem to have discovered a new prime number visualization (?)&lt;/p&gt;
&lt;p&gt;I have been fascinated with doodling square spirals since childhood. There is something satisfying about drawing a straight line, turning 90 degrees, drawing a slightly longer line, and repeating until you fill the page. It's somehow geometrically comforting.&lt;/p&gt;
&lt;p&gt;Recently, while watching an unrelated maths video on YouTube, I started wondering about applying a method to my doodling: what if I started drawing a square spiral, but the line lengths were a sequence of prime numbers?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Disclaimer: IANAM&lt;/strong&gt; (I am not a mathematician). I'm just a bloke who loves a good pattern (and enjoys Python). So if I'm about to describe something painfully obvious to the mathematical community, well, at least I had fun discovering it!&lt;/p&gt;
&lt;h2&gt;The method&lt;/h2&gt;
&lt;p&gt;This is very analogous to the &lt;a href="https://en.wikipedia.org/wiki/Logo_(programming_language)"&gt;Logo&lt;/a&gt; programming of turtle walks that I would have seen at school — if only we had computers at school growing up in Greece in the 1980s. (Thanks dad for buying me a Sinclair ZX Spectrum when I was 4!)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Start at the origin &lt;strong&gt;&lt;code&gt;(0,0)&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Face &lt;strong&gt;East (E)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Move forward by a length equal to the &lt;strong&gt;next prime number&lt;/strong&gt; (2, then 3, 5, etc.)&lt;/li&gt;
&lt;li&gt;Turn &lt;strong&gt;90° right&lt;/strong&gt; (now you are facing &lt;strong&gt;South (S)&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;Repeat from 3.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This creates a cycle of directions (E → S → W → N), with each leg of the spiral growing according to the prime number sequence &lt;code&gt;2, 3, 5, 7, 11, 13, ...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I intuitively expected to see chaos. Given the famous unpredictability of prime gaps, I was ready for a weird mess of a visualization.&lt;/p&gt;
&lt;h2&gt;The hidden pyramid in the primes&lt;/h2&gt;
&lt;p&gt;What I actually got was this shape:&lt;/p&gt;
&lt;p&gt;&lt;a href="images/prime_step_spiral.png"&gt;&lt;img alt="The Angelakos Prime Spiral with 1000 primes" src="images/prime_step_spiral_thumb.jpeg" title="The Angelakos Prime Spiral showing the first 1000 prime numbers"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The pattern struck me right away: it's not really chaotic and it looks like &lt;strong&gt;a pyramid viewed from above&lt;/strong&gt;. The four corners appear as nearly perfect straight lines radiating from the center.&lt;/p&gt;
&lt;p&gt;After staring at it and doing some googling, it turns out that why this "works" is because it's visual proof of the prime numbers' sequence being &lt;strong&gt;monotonic&lt;/strong&gt;. As &lt;code&gt;p(n+1)&lt;/code&gt; is always greater than &lt;code&gt;p(n)&lt;/code&gt;, the spiral can never cross itself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The S leg (&lt;code&gt;p₂ = 3&lt;/code&gt;) is longer than the E leg (&lt;code&gt;p₁ = 2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The W leg (&lt;code&gt;p₃ = 5&lt;/code&gt;) is longer than the S leg, so it passes the starting zero &lt;code&gt;x&lt;/code&gt; coordinate&lt;/li&gt;
&lt;li&gt;The N leg (&lt;code&gt;p₄ = 7&lt;/code&gt;) is longer than the W leg, so it clears the corner, and so on&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Every turn makes the sort of "bounding box" a bit larger. Apparently, in maths this is called an &lt;strong&gt;infinite spirolateral&lt;/strong&gt;, but this one specifically will never repeat or self-intersect.&lt;/p&gt;
&lt;h2&gt;Why are the corners straight(ish)?&lt;/h2&gt;
&lt;p&gt;The emerging "lines", where the corners of the visual pyramid are, don't look perfectly straight because there is a slight wobble. This wobble represents the data being visualized, the &lt;strong&gt;Prime Gaps&lt;/strong&gt;. When the gap is small, there is a tight corner, and when it's a big gap, the wall bulges out more.&lt;/p&gt;
&lt;p&gt;However, as the numbers grow larger, the magnitude of the primes (or &lt;strong&gt;"signal"&lt;/strong&gt;, if you want) starts to drown out the variance of the gaps (or &lt;strong&gt;"noise"&lt;/strong&gt;, in this case). Visually, this means that the corners appear to get sharper and straighter the further out we go.&lt;/p&gt;
&lt;h2&gt;Geometric visualization of the prime number theorem?&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://en.wikipedia.org/wiki/Prime_number_theorem"&gt;prime number theorem (PNT)&lt;/a&gt; effectively says that the average gap between consecutive prime numbers tends asymptotically to follow the natural logarithmic sequence &lt;code&gt;ln(pₙ)&lt;/code&gt; (shout out to Edinburgh's own &lt;a href="https://en.wikipedia.org/wiki/John_Napier"&gt;John Napier&lt;/a&gt; for that one).&lt;/p&gt;
&lt;p&gt;So while the gaps between primes &lt;strong&gt;are&lt;/strong&gt; random, their statistical distribution tends to follow a precise and predictable order. This is why the "air" between the walls isn't random and the visualization doesn't become a solid block of black line. The spacing between the spiral arms grows logarithmically proportional to the length of the ever-growing walls, and this apparent separation must be visualizing the decreasing density of prime numbers.&lt;/p&gt;
&lt;p&gt;What's still surprising to me is the impressive regularity of primes &lt;strong&gt;in aggregate&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Sample code&lt;/h2&gt;
&lt;p&gt;Here is some Python code which uses my beloved &lt;a href="https://matplotlib.org/"&gt;&lt;code&gt;matplotlib&lt;/code&gt;&lt;/a&gt;. You can run it to generate the spiral yourself:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;plt&lt;/span&gt;

&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;draw_spiral&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# Generate first n primes&lt;/span&gt;
    &lt;span class="n"&gt;primes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;primes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;all&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
            &lt;span class="n"&gt;primes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;

    &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="n"&gt;pos_x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;pos_y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

    &lt;span class="c1"&gt;# Compass factors (E, S, W, N)&lt;/span&gt;
    &lt;span class="n"&gt;directions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;prime&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;primes&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;dir_x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dir_y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;directions&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="n"&gt;pos_x&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;dir_x&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;prime&lt;/span&gt;
        &lt;span class="n"&gt;pos_y&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="n"&gt;dir_y&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;prime&lt;/span&gt;
        &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pos_x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pos_y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Calculate the bounds&lt;/span&gt;
    &lt;span class="n"&gt;min_x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nb"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;min_y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;min&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nb"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_x&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;min_x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max_y&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;min_y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Unit = 1 pixel&lt;/span&gt;
    &lt;span class="n"&gt;dpi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="n"&gt;figsize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;width&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;height&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;fig&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;subplots&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dpi&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;dpi&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;plot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;linewidth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;color&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;antialiased&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_xlim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min_x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_x&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;set_ylim&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;min_y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;max_y&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ax&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;axis&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;off&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;subplots_adjust&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;top&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;bottom&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;draw_spiral&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;savefig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;spiral_&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.png&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dpi&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;bbox_inches&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;tight&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;Is this new?&lt;/h2&gt;
&lt;p&gt;This &lt;strong&gt;appears to be&lt;/strong&gt; genuinely novel. Existing prime visualizations seem to fall into two categories:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Position-based (like the &lt;a href="https://en.wikipedia.org/wiki/Ulam_spiral"&gt;&lt;strong&gt;Ulam Spiral&lt;/strong&gt;&lt;/a&gt;, 1963, and &lt;a href="https://en.wikipedia.org/wiki/Ulam_spiral#Variants"&gt;&lt;strong&gt;Sacks Spiral&lt;/strong&gt;&lt;/a&gt;, 1994): These place consecutive integers in a pattern and then highlight where primes occur. The primes determine &lt;strong&gt;the markers&lt;/strong&gt;, not the geometry.&lt;/li&gt;
&lt;li&gt;Direction-based (like &lt;a href="http://bit-player.org/2010/gruenbergers-prime-path/"&gt;&lt;strong&gt;Gruenberger's Prime Path&lt;/strong&gt;&lt;/a&gt;, 1976, &lt;a href="https://arxiv.org/pdf/2105.12547"&gt;&lt;strong&gt;Fraile's Prime Walk&lt;/strong&gt;&lt;/a&gt;, 2021, and the &lt;a href="https://numberscope.colorado.edu/"&gt;&lt;strong&gt;Numberscope turtle visualizer&lt;/strong&gt;&lt;/a&gt; (Stange et al.)): These use properties of primes (like last digits or remainders) to determine &lt;strong&gt;the turn direction&lt;/strong&gt;, while keeping the step length constant at one unit.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This spiral probably deserves a descriptive name like the Prime-Step Spiral to distinguish it from other visualizations.&lt;/p&gt;
&lt;p&gt;Until someone inevitably reaches out to point out that it's been done before, and is documented in some obscure 1960s maths journal, I'm calling it the &lt;strong&gt;Angelakos Prime Spiral&lt;/strong&gt; 😊&lt;/p&gt;
&lt;h3&gt;EDIT: Own the visualization!&lt;/h3&gt;
&lt;p&gt;If you find the geometry of the prime sequence as 
fascinating as I do, you can now get a high-quality 
physical version for your wall. I have made a fine art 
print of the &lt;strong&gt;Prime-Step Spiral&lt;/strong&gt; available on Etsy, 
featuring the intricate "pyramid" structure generated 
by the first few hundred primes. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.etsy.com/uk/listing/4436243641/the-prime-step-spiral-fine-art-print?ref=elp_anchor_listing&amp;amp;frs=1"&gt;&lt;strong&gt;Buy the Prime-Step 
Spiral Fine Art Print on 
Etsy&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;</content><category term="articles"></category><category term="maths"></category><category term="math"></category><category term="visualization"></category><category term="visualisation"></category><category term="developer"></category><category term="python"></category></entry><entry><title>Announcing the inaugural PostgreSQL Edinburgh meetup</title><link href="https://vyruss.org/blog/inaugural-postgresql-edinburgh-meetup.html" rel="alternate"></link><published>2025-11-19T14:00:00+00:00</published><updated>2025-11-19T14:00:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2025-11-19:/blog/inaugural-postgresql-edinburgh-meetup.html</id><summary type="html">&lt;p&gt;Thrilled to announce the launch of the PostgreSQL Edinburgh meetup! December 11th @ the University of Edinburgh's Old College (pizza, networking, and talks).&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="The Old College at the University of Edinburgh" src="images/old_college.jpeg" title="The beautiful Old College building at the University of Edinburgh"&gt;
&lt;small&gt;&lt;em&gt;The beautiful Old College building at the University of Edinburgh. Photo by &lt;a href="https://www.flickr.com/people/86688834@N00"&gt;LWYang&lt;/a&gt; from USA (CC BY 2.0).&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;I'm thrilled to announce that the &lt;strong&gt;PostgreSQL Edinburgh meetup&lt;/strong&gt; is finally here! 🐘&lt;/p&gt;
&lt;p&gt;We are launching our new PostgreSQL Edinburgh community with an inaugural event on &lt;strong&gt;Thursday, December 11th&lt;/strong&gt;. We'll be gathering at the University of Edinburgh's beautiful &lt;strong&gt;&lt;a href="https://maps.app.goo.gl/VJ4wWDQtiytkkNf3A"&gt;Old College&lt;/a&gt;&lt;/strong&gt; building to talk tech, eat pizza, and get to know each other.&lt;/p&gt;
&lt;p&gt;Whether you're a seasoned DBA, an app developer just getting started with databases, or simply curious about how databases and AI &amp;amp; vector search tie in, this meetup is for you. &lt;strong&gt;All levels are welcome!&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;The Agenda&lt;/h2&gt;
&lt;p&gt;Here's the schedule for our first outing, featuring two great technical talks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;18:00:&lt;/strong&gt; Doors Open, Pizza &amp;amp; Networking 🍕&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;18:55:&lt;/strong&gt; Introductions &amp;amp; Community Announcements&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;19:00:&lt;/strong&gt; &lt;strong&gt;PostgreSQL Tips &amp;amp; Tricks (For App Devs)&lt;/strong&gt; — &lt;em&gt;Chris Ellis (&lt;a href="https://nexteam.co.uk/"&gt;Nexteam&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;19:40:&lt;/strong&gt; Break&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20:00:&lt;/strong&gt; &lt;strong&gt;RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmented Generation&lt;/strong&gt; — &lt;em&gt;Jimmy Angelakos (&lt;a href="https://pgedge.com/"&gt;pgEdge&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;20:45:&lt;/strong&gt; Event End&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Talks&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL Tips &amp;amp; Tricks (For App Devs)&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Chris Ellis&lt;/strong&gt; will take us through a look at use cases he's run into over the years. Postgres has a huge range of features—maybe too many—but making use of them can reduce application complexity significantly. Chris will cover solutions for event scheduling, task execution, searching, geolocation, and handling unknown data.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RAGtime with Postgres&lt;/strong&gt;&lt;br&gt;
I'll be presenting my own talk on &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt;. As a Postgres nerd (and definitely not an AI expert), I'll be explaining in simple terms how to dip your toes into AI using our favourite database. We'll look at how to use &lt;code&gt;pgvector&lt;/code&gt; to store embeddings, connect them with LLMs, and build intelligent apps without relying on expensive external services.&lt;/p&gt;
&lt;h2&gt;Join Us!&lt;/h2&gt;
&lt;p&gt;This event is completely &lt;strong&gt;free&lt;/strong&gt;, but registration is required so we can get the numbers right for the food &amp;amp; refreshments!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Register here&lt;/strong&gt; 👇&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://luma.com/b9kv5fds"&gt;🎟️ luma.com/b9kv5fds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The meetup is bound by the &lt;a href="https://www.postgresql.org/about/policies/coc/"&gt;PostgreSQL Code of Conduct&lt;/a&gt;. We are also looking for volunteer help (greeting attendees, logistics, etc.) for this and future meetups. If you can help, please drop me an email at &lt;code&gt;vyruss000&lt;/code&gt; (at) &lt;code&gt;gmail.com&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Follow our community updates here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/company/postgresedi/"&gt;linkedin.com/company/postgresedi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mastodon:&lt;/strong&gt; &lt;a href="https://fosstodon.org/@PostgresEDI"&gt;@PostgresEDI@fosstodon.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bluesky:&lt;/strong&gt; &lt;a href="https://bsky.app/profile/postgresedi.bsky.social"&gt;@postgresedi.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Luma calendar:&lt;/strong&gt; &lt;a href="https://luma.com/PostgresEDI"&gt;luma.com/PostgresEDI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I can't wait to see you there so we can kickstart this new chapter for the PostgreSQL community in Scotland and the North. It's an easy trip from Glasgow, and we'd be thrilled to have our neighbours from Newcastle come down to help us launch this with a bang.&lt;/p&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="edinburgh"></category><category term="community"></category><category term="meetups"></category><category term="developer"></category><category term="rag"></category><category term="ai"></category><category term="pgvector"></category><category term="postgresedi"></category></entry><entry><title>pg_statviz 0.8 released with PostgreSQL 18 support</title><link href="https://vyruss.org/blog/pg_statviz-0.8-released-postgresql-18-support.html" rel="alternate"></link><published>2025-11-06T19:00:00+00:00</published><updated>2025-11-06T19:00:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2025-11-06:/blog/pg_statviz-0.8-released-postgresql-18-support.html</id><summary type="html">&lt;p&gt;Extension pg_statviz for time series analysis &amp;amp; visualization of Postgres internal statistics has released version 0.8 with support for PostgreSQL 18.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;img alt="pg_statviz logo" src="images/pg_statviz_hires.png" style="width:33%" title="pg_statviz logo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm happy to announce &lt;a href="https://github.com/vyruss/pg_statviz/releases/tag/v0.8"&gt;&lt;strong&gt;release 0.8&lt;/strong&gt;&lt;/a&gt; of &lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;strong&gt;&lt;code&gt;pg_statviz&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;, the minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics.&lt;/p&gt;
&lt;p&gt;This release adds support for &lt;strong&gt;PostgreSQL 18&lt;/strong&gt;, adapting to significant catalog view changes introduced in this release:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;I/O statistics now include byte-based metrics&lt;/strong&gt;: The &lt;code&gt;pg_stat_io&lt;/code&gt; view now reports I/O activity in bytes (&lt;code&gt;read_bytes&lt;/code&gt;, &lt;code&gt;write_bytes&lt;/code&gt;, &lt;code&gt;extend_bytes&lt;/code&gt;) rather than just operation counts, providing more granular insight into system I/O patterns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WAL statistics reorganization&lt;/strong&gt;: PostgreSQL 18 moves WAL write and sync statistics from &lt;code&gt;pg_stat_wal&lt;/code&gt; to &lt;code&gt;pg_stat_io&lt;/code&gt; (where &lt;code&gt;object = 'wal'&lt;/code&gt;), consolidating I/O metrics across different subsystems.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The extension automatically detects your PostgreSQL version and uses the appropriate catalog views, maintaining backward compatibility with PostgreSQL 14 through 17 while taking advantage of the enhanced metrics available in PostgreSQL 18. The Python utility has also been updated to handle both the new byte-based I/O metrics and the operation counts from earlier versions.&lt;/p&gt;
&lt;p&gt;This release also bumps the minimum Python requirement to 3.11+ and updates the &lt;code&gt;numpy&lt;/code&gt; dependency to 2.3.4.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pg_statviz&lt;/code&gt; takes the view that everything should be light and &lt;strong&gt;minimal&lt;/strong&gt;. Unlike commercial monitoring platforms, it doesn't require invasive agents or open connections to the database — it all lives inside your database.
The extension is plain SQL and PL/pgSQL and doesn't require modules to be loaded, the visualization utility is separate and can be run from anywhere, and your data is free and easy to export.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can download and install &lt;code&gt;pg_statviz&lt;/code&gt; from the PostgreSQL repositories or &lt;a href="https://pgxn.org/dist/pg_statviz/"&gt;PGXN&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The utility can also be installed from &lt;a href="https://pypi.org/project/pg_statviz/"&gt;PyPi&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vyruss/pg_statviz/tree/master?tab=readme-ov-file#manual-installation"&gt;Manual installation&lt;/a&gt; is also possible.&lt;/li&gt;
&lt;/ul&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="dba"></category><category term="extensions"></category></entry><entry><title>PGDay Lowlands 2025 and Getting Postgres to the Next Level</title><link href="https://vyruss.org/blog/pgday-lowlands-2025-postgres-next-level.html" rel="alternate"></link><published>2025-09-25T15:01:00+01:00</published><updated>2025-09-25T15:01:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2025-09-25:/blog/pgday-lowlands-2025-postgres-next-level.html</id><summary type="html">&lt;p&gt;A recap of PGDay Lowlands 2025, where I presented our talk "How Do We Get Postgres to the Next Level?", co-written with Henrietta Dombrovskaya, in the unique setting of the Rotterdam Zoo.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Obligatory photo from PGDay Lowlands 2025 talk. Credit: honkingelephant.com" src="images/keynote.jpg" title="Jimmy Angelakos on stage at PGDay Lowlands 2025. Credit: honkingelephant.com"&gt;&lt;/p&gt;
&lt;p&gt;I recently attended 🇳🇱 &lt;strong&gt;&lt;a href="https://2025.pgday.nl/"&gt;PGDay Lowlands 2025&lt;/a&gt;&lt;/strong&gt;, an awesome PostgreSQL Community Event which took place on September 12th in the wondrous environment of the Rotterdam Zoo. It was a fantastic and focused day of PostgreSQL content, made all the more memorable by being in the company of amazing fish, sea turtles, and penguins!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Obligatory sea turtle photo from PGDay Lowlands 2025" src="images/turtle.jpg" title="A photo from the coffee break at PGDay Lowlands 2025 showing a sea turtle swimming by"&gt;&lt;/p&gt;
&lt;p&gt;I was honoured to kick off the conference, presenting a talk that I co-wrote with &lt;strong&gt;Hettie Dombrovskaya&lt;/strong&gt;. We've been collecting material and ideas for this for over a year, and it was exciting to finally share it.&lt;/p&gt;
&lt;h2&gt;The talk: How Do We Get Postgres to the Next Level?&lt;/h2&gt;
&lt;p&gt;&lt;img alt="Another obligatory photo from PGDay Lowlands 2025 talk. Credit: honkingelephant.com" src="images/future.jpg" title="Jimmy Angelakos on stage at PGDay Lowlands 2025. Credit: honkingelephant.com"&gt;&lt;/p&gt;
&lt;p&gt;Our presentation, &lt;strong&gt;"How Do We Get Postgres to the Next Level?"&lt;/strong&gt;, was a call to action to think strategically about the future of the project. We argued that to continue its incredible growth and solidify its leadership position, we need to focus on three core pillars: improving code quality, strategically adding new features, and kicking into overdrive our advocacy and community growth. We touched on the need for things like a dedicated performance team, a more modular development process, standardization on what PostgreSQL compatibility means, and improving the developer experience to attract new contributors.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=VQ0txHxdq9k"&gt;youtube.com/watch?v=VQ0txHxdq9k&lt;/a&gt; &lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/VQ0txHxdq9k?si=19HwEbxQLQQthUWZ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/pgdaynl2025_how_do_we_get_postgres_to_the_next_level.pdf"&gt;vyruss.org/computing/slides/pgdaynl2025...level.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Sparking the Conversation&lt;/h2&gt;
&lt;p&gt;Packing over a year's worth of research into a 20-minute talk was a challenge, but our main goal was to spark a conversation. Based on the reaction, I think we succeeded! The ideas were received positively, and as we'd hoped, they also challenged some existing perspectives.&lt;/p&gt;
&lt;p&gt;What was most rewarding were the hours of "hallway track" discussions that followed. It was fantastic to hear that so many of our points resonated with attendees. A recurring theme in these conversations was a shared sense that for Postgres to continue scaling, we have to bring more people into the fold. To do that, it's clear we must improve the developer experience and make it easier for new contributors to get involved.&lt;/p&gt;
&lt;p&gt;The positive reception has inspired us to think about what's next. It seems the logical next step would be formalize the roadmap we proposed and continue this discussion at more events. Fostering these conversations is important for the health of the project, and I'm excited to see where we can take them. Hopefully, we can continue the momentum in Riga at &lt;a href="https://2025.pgconf.eu/"&gt;PGConf.EU 2025&lt;/a&gt;!&lt;/p&gt;
&lt;h2&gt;Next Stop: Riga⛪&lt;/h2&gt;
&lt;p&gt;I'm very excited to announce that we're taking one of the key ideas from our talk, standardization, and turning it into a dedicated, hands-on session at the &lt;a href="https://2025.pgconf.eu/community-day/"&gt;PGConf.EU 2025 Community Events Day&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="The organizers of &amp;quot;Establishing the PostgreSQL standard: What's Postgres compatible?&amp;quot;" src="images/collage3.jpg" title="The organizers of Establishing the PostgreSQL standard: What's Postgres compatible?"&gt;&lt;/p&gt;
&lt;p&gt;Along with Hettie and &lt;strong&gt;Boriss Mejías&lt;/strong&gt;, I'm organizing a half-day working session on Tuesday, October 21st called &lt;a href="https://2025.pgconf.eu/community-events/establishing-the-postgresql-standard-whats-postgres-compatible/"&gt;"Establishing the PostgreSQL standard: What's Postgres compatible?"&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As PostgreSQL's influence grows, the ecosystem of "Postgres-compatible" derivatives is expanding, which brings challenges like brand dilution and feature fragmentation. Our session aims to tackle this head-on by bringing the community together to define a practical framework for what "PostgreSQL compatible" really means. This will be a focused, technical working session where we'll break into groups to discuss key areas like core SQL behavior, ABI stability, and compatibility with standard backup and replication methods.&lt;/p&gt;
&lt;p&gt;The goal is to emerge with a preliminary roadmap for establishing a meaningful compatibility standard. This will build directly on the conversations started in Rotterdam, and I'm very excited to collaborate with the community and leaders in the Open Source world outside our Project, to help shape the future of the ecosystem.&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="community"></category><category term="developer"></category><category term="conferences"></category></entry><entry><title>FOSSY 2025 and RAGtime with Postgres</title><link href="https://vyruss.org/blog/fossy-2025-ragtime-postgres.html" rel="alternate"></link><published>2025-09-04T14:57:00+01:00</published><updated>2025-09-04T14:57:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2025-09-04:/blog/fossy-2025-ragtime-postgres.html</id><summary type="html">&lt;p&gt;A quick recap of my trip to Portland for FOSSY 2025, where I had the opportunity to speak about building AI-powered applications with pgvector and Retrieval-Augmented Generation.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Obligatory photo from FOSSY 2025" src="images/fossy_2025.jpeg" title="A photo from outside the FOSSY 2025 conference in Portland, OR"&gt;&lt;/p&gt;
&lt;p&gt;I've just returned from the rapidly growing &lt;strong&gt;&lt;a href="https://2025.fossy.us/"&gt;Free and Open Source Yearly&lt;/a&gt; conference&lt;/strong&gt;, or &lt;strong&gt;&lt;a href="https://2025.fossy.us/"&gt;FOSSY 2025&lt;/a&gt;&lt;/strong&gt;, which took place from July 31st - August 3rd, 2025, in Portland, Oregon. Organized by the incredible team at the &lt;a href="https://sfconservancy.org/"&gt;Software Freedom 
Conservancy&lt;/a&gt;, the event was an awesome gathering of minds dedicated to the principles of free and open-source software.&lt;/p&gt;
&lt;p&gt;I gladly took the opportunity to connect with the community again, and remind myself of the passion and dedication that fuels FOSS. The work that the Software Freedom Conservancy does is important for the health and sustainability of the ecosystem, and it was inspiring to 
be surrounded by people who share that vision.&lt;/p&gt;
&lt;h2&gt;PostgreSQL @ FOSSY 2025&lt;/h2&gt;
&lt;p&gt;PostgreSQL was also present with a dedicated booth (thanks to &lt;a href="https://postgresql.us/"&gt;PgUS&lt;/a&gt;, and of course Postgres-related talks. I was thrilled to contribute my own talk, about using Postgres for AI work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On &lt;strong&gt;Friday, August 1st&lt;/strong&gt;, I presented my talk titled &lt;strong&gt;&lt;a href="https://2025.fossy.us/schedule/presentation/295"&gt;"RAGtime with Postgres: AI Power with pgvector and Retrieval-Augmented Generation"&lt;/a&gt;&lt;/strong&gt; (whew). This session dove into building AI-powered applications with the power 
    of PostgreSQL. We explored how to use the &lt;code&gt;pgvector&lt;/code&gt; extension to store embeddings and implement powerful, context-aware Retrieval-Augmented Generation (RAG) pipelines, transforming the database into a core component of an intelligent advisor stack. &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=LIkcBe0DQbc"&gt;youtube.com/watch?v=LIkcBe0DQbc&lt;/a&gt; &lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/LIkcBe0DQbc?si=r7k5w8tP9qYxZ3gB" title="YouTube video player" frameborder="0" 
 allow="accelerometer; autoplay;    clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="http://vyruss.org/computing/slides/fossy2025_ragtime_with_postgres.pdf"&gt;vyruss.org/computing/slides/fossy2025_ragtime_with_postgres.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="fossy"></category><category term="ai"></category><category term="pgvector"></category><category term="rag"></category><category term="developer"></category><category term="community"></category><category term="conferences"></category><category term="sfc"></category></entry><entry><title>SCaLE 22x, live streams and Row-Level Security Sucks</title><link href="https://vyruss.org/blog/scale-22x-live-streams-row-level-security-sucks.html" rel="alternate"></link><published>2025-03-21T19:30:00+00:00</published><updated>2025-03-21T19:30:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2025-03-21:/blog/scale-22x-live-streams-row-level-security-sucks.html</id><summary type="html">&lt;p&gt;I just came back from my second SCaLE (22x)! I broadcast 3 days of live streams from the conf, and spoke about Row-Level Security.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Obligatory hallway arch photo from SCaLE22x" src="images/scale_22x.jpeg" title="Jimmy Angelakos in front of the SCaLE 22x arch in the hallway of the Pasadena Convention Center"&gt;&lt;/p&gt;
&lt;p&gt;The 22nd edition of the &lt;a href="https://www.socallinuxexpo.org/scale/22x"&gt;Southern California Linux Expo&lt;/a&gt;, or &lt;strong&gt;SCaLE 22x&lt;/strong&gt;, took place from March 6-9, 
2025, in Pasadena, California. It was a fantastic event packed with insightful talks, community spirit, and legendary figures from the computing 
world.&lt;/p&gt;
&lt;p&gt;One of the highlights of SCaLE 22x was getting the chance to attend talks by two icons: Leslie Lamport and Jon "maddog" Hall. &lt;strong&gt;Leslie 
Lamport&lt;/strong&gt;, whom many know for &lt;strong&gt;Paxos&lt;/strong&gt;, &lt;strong&gt;TLA+&lt;/strong&gt;, and generally being the "father of distributed computing", delivered the &lt;strong&gt;&lt;a href="https://www.socallinuxexpo.org/scale/22x/presentations/closing-keynote-leslie-lamport"&gt;closing 
keynote&lt;/a&gt;&lt;/strong&gt; titled "Coding isn't Programming". Meant to 
shake up developers, it was thought-provoking and engaging arguments. It was a rare privilege to hear directly from someone whose work has 
influenced so much of modern computing.&lt;/p&gt;
&lt;p&gt;Earlier, &lt;strong&gt;Jon "maddog" Hall&lt;/strong&gt;'s talk &lt;strong&gt;&lt;a href="https://www.socallinuxexpo.org/scale/22x/presentations/joy-free-software-it-should-be-fun-fish"&gt;"The JOY of Free Software: It should be fun to 
fish"&lt;/a&gt;&lt;/strong&gt; was a great reminder of why we do what 
we do in the open-source world and how we should not lose track of how fun this journey of creation was. maddog's passion for free software and 
its ethical implications is always inspiring, and I've mentioned before on this blog how his example has guided my career choices.&lt;/p&gt;
&lt;h2&gt;PostgreSQL @ SCaLE 22x&lt;/h2&gt;
&lt;p&gt;Postgres again had a strong presence at SCaLE with a dedicated track of talks (thanks &lt;a href="https://postgresql.us/"&gt;PgUS&lt;/a&gt; for the booth in the 
Expo hall), and I had the pleasure of being part of several related sessions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On &lt;strong&gt;Thursday, March 6th&lt;/strong&gt;, I participated in the &lt;strong&gt;&lt;a href="https://www.socallinuxexpo.org/scale/22x/presentations/postgresql-ask-me-anything"&gt;PostgreSQL Ask Me 
Anything&lt;/a&gt;&lt;/strong&gt; session alongside some incredible PostgreSQL 
experts. The discussion touched on internals, performance, best practices, and the future of Postgres. It's always great to interact with 
the community and share insights from our experiences. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On &lt;strong&gt;Friday, March 7th&lt;/strong&gt;, I delivered my talk titled &lt;strong&gt;&lt;a href="https://www.socallinuxexpo.org/scale/22x/presentations/row-level-security-sucks-can-we-make-it-usable"&gt;"Row-Level Security Sucks. Can We Make It 
Usable?"&lt;/a&gt;&lt;/strong&gt;. It was a deep dive into 
PostgreSQL's &lt;strong&gt;Row-Level Security (RLS)&lt;/strong&gt;, highlighting its strengths and shortcomings, and exploring ways to make it more accessible to empower 
developers in real-world applications.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=PxiJkO5eRK4"&gt;youtube.com/watch?v=PxiJkO5eRK4&lt;/a&gt; &lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/PxiJkO5eRK4?si=8QPiwNXCIo5iNq7v" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; 
encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="http://vyruss.org/computing/slides/scale22x_row_level_security_sucks.pdf"&gt;vyruss.org/computing/slides/scale22x_row_level_security_sucks.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A super fun part of my SCaLE visit was the opportunity to &lt;strong&gt;live stream&lt;/strong&gt; from the conference floor! Across &lt;strong&gt;three mornings&lt;/strong&gt;, I had 
fantastic conversations with members of the PostgreSQL community. Huge thanks to &lt;strong&gt;SCaLE&lt;/strong&gt; for allowing the use of their space and to my 
awesome guests:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Henrietta Dombrovskaya&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mark Wong&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gülçin Yıldırım Jelínek&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sarah Conway&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A brief cameo from &lt;strong&gt;Devrim Gündüz&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Our discussions covered everything from the conference itself to PostgreSQL community and ecosystem goings-on and insights. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can catch all the live chats on this &lt;strong&gt;&lt;a href="https://www.youtube.com/playlist?list=PLn5-f7ZCYX7vGldSTaxPGalc-v1EbGmLV"&gt;YouTube playlist&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On the occasion of the conference, Manning Publications has been kind enough to create a &lt;strong&gt;discount code&lt;/strong&gt; for my book &lt;strong&gt;&lt;a href="http://mng.bz/vKd4"&gt;PostgreSQL Mistakes and 
How to Avoid Them&lt;/a&gt;&lt;/strong&gt;, so you can use &lt;strong&gt;jascale22x&lt;/strong&gt; to get 45% off until March 22nd, 2025! After that, you can use my 
promo code &lt;strong&gt;au35ang&lt;/strong&gt; for a 35% discount.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mng.bz/vKd4"&gt;&lt;img alt="PostgreSQL Mistakes and How to Avoid Them" src="images/postgresql_mistakes.jpg" style="width:50%" title="PostgreSQL Mistakes and How to Avoid Them cover"&gt;&lt;/a&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="scale"></category><category term="dba"></category><category term="developer"></category><category term="community"></category><category term="conferences"></category></entry><entry><title>PGConf.EU 2024 in Athens, Extension Summit, OpenStreetMap talk, and others</title><link href="https://vyruss.org/blog/pgconf-eu-2024-athens-extension-summit-openstreetmap-talk-others.html" rel="alternate"></link><published>2024-11-07T15:07:00+00:00</published><updated>2024-11-07T15:07:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2024-11-07:/blog/pgconf-eu-2024-athens-extension-summit-openstreetmap-talk-others.html</id><summary type="html">&lt;p&gt;PGConf.EU 2024 was huge, with new fringe events, and much enjoyment.&lt;/p&gt;</summary><content type="html">&lt;p&gt;This year, the 14th annual &lt;strong&gt;PostgreSQL Conference Europe&lt;/strong&gt; (&lt;a href="https://2024.pgconf.eu"&gt;PGConf.EU&lt;/a&gt; for short) took place from October 22nd to October 25th in the historic city of Athens, Greece, featuring awesome content and awesome Mediterranean weather.&lt;/p&gt;
&lt;p&gt;It was my honour to serve on the organising committee, alongside Andreas Scherbaum, Chris Ellis, Dave Page, Ilya Kosmodemiansky, Karen Jex, Magnus Hagander, Tomas Vondra, and Valeria Kaplan. More details on everyone who helped out with running 
the conference can be found &lt;a href="https://postgres-contrib.org/post/21/"&gt;here on postgres-contrib.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On October 22nd, before the main conference, there was a full day of training delivered by expert PostgreSQL professionals, and also new and exciting fringe events took place.&lt;/p&gt;
&lt;p&gt;One was the &lt;strong&gt;inaugural meeting of the &lt;a href="https://www.postgresql.eu/diversity/"&gt;PostgreSQL Europe Diversity Committee&lt;/a&gt;&lt;/strong&gt; that I was privileged to attend, chaired by the force of nature that is &lt;a href="https://mastodon.online/@karenhjex"&gt;Karen Jex&lt;/a&gt;. Goals, plans and benchmarks were set in a kick-off session that's very promising for the future. 
The first early results of the initiative were already visible before the meeting, with the achievement of the greatest percentage of female speakers yet at a PGConf.EU. The diversity pinboard in the main conference hallway was a great success
and it was very heartening to receive all your messages of encouragement and support.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;PostgreSQL Extension Ecosystem Summit&lt;/strong&gt; also took place on that day, sponsored by Tembo, Percona, Xata and Timescale, and organized by &lt;a href="https://hachyderm.io/@floord"&gt;Floor Drees&lt;/a&gt; and &lt;a href="https://xoxo.zone/@theory"&gt;David Wheeler&lt;/a&gt;. I was invited to 
speak about the extension I maintain, &lt;a href="https://github.com/vyruss/pg_statviz"&gt;pg_statviz&lt;/a&gt; so I shared some &lt;a href="https://vyruss.org/computing/slides/extensionsummit2024_pg_statviz.pdf"&gt;backstory, details and insights&lt;/a&gt;. I find that the current effort to 
revitalise and strengthen extension building for Postgres is hugely important, and fully support the initiative.&lt;/p&gt;
&lt;p&gt;The main conference was kicked off on the 23rd with &lt;strong&gt;&lt;a href="https://fosstodon.org/@shaysler"&gt;Stacey Haysler&lt;/a&gt;'s keynote address&lt;/strong&gt; &lt;a href="https://www.postgresql.eu/events/pgconfeu2024/schedule/session/5869-the-postgresql-license-fee/"&gt;"The PostgreSQL License 
Fee"&lt;/a&gt; (&lt;a href="https://www.youtube.com/watch?v=PNohLdtVNYs"&gt;video here&lt;/a&gt;), where it was explained how the PostgreSQL Project works, why you don't have to pay 
a license fee, and how the contributors (and their employers) are the main driving force behind the project.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Stacey Haysler on stage delivering the opening keynote" src="images/stacey.jpeg" title="Stacey Haysler on stage delivering the opening keynote"&gt;&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;number of attendees&lt;/strong&gt; again broke all records with &lt;strong&gt;755&lt;/strong&gt; checked-in and confirmed to be in attendance!&lt;/p&gt;
&lt;p&gt;My talk at the conference was &lt;strong&gt;"–Mom, can we have G＊＊gle Maps? –We have G＊＊gle Maps at home"&lt;/strong&gt; and dealt with the awesome GIS combo of the PostgreSQL database, PostGIS extension, and OpenStreetMap data. You can watch the recording below 
(&lt;a href="https://vyruss.org/computing/slides/pgconfeu2024_mom_can_we_have_google_maps.pdf"&gt;slides here&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=l6hbzYJ0jJU"&gt;youtube.com/watch?v=l6hbzYJ0jJU&lt;/a&gt;&lt;/p&gt;
&lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/l6hbzYJ0jJU?si=i7LMzTw5U0qTAshC" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; 
web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;You can find &lt;strong&gt;all the brilliant talks&lt;/strong&gt; presented at the conference &lt;a href="https://www.postgresql.eu/events/pgconfeu2024/schedule/"&gt;here&lt;/a&gt;, with links to their slides contained within each schedule entry, and also &lt;strong&gt;all the video recordings&lt;/strong&gt; from the 
confrence &lt;a href="https://www.youtube.com/playlist?list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq"&gt;here&lt;/a&gt;. I myself have a lot of video catching-up to do as my duties at the conference meant I could only attend a select number of talks.&lt;/p&gt;
&lt;p&gt;As a token of our appreciation, speakers and volunteers received this awesome little hand-made and hand-painted Greek amphora!&lt;/p&gt;
&lt;p&gt;&lt;img alt="PGConf.EU Athens 2024 speaker gift" src="images/speakergift.jpeg" style="width:50%" title="PGConf.EU Athens 2024 speaker gift"&gt;&lt;/p&gt;
&lt;p&gt;PGConf.EU Athens 2024 was awesome in no small part due to the amazing PostgreSQL Community. As always, I wish there was more time to meet more of you, but we can always do this at the next Postgres event. &lt;strong&gt;Many thanks&lt;/strong&gt; to all the committees, 
volunteers, sponsors, speakers and attendees that helped make this conference a reality.&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="pgconfeu"></category><category term="dba"></category><category term="developer"></category><category term="community"></category><category term="conferences"></category></entry><entry><title>pg_statviz 0.7 released with new features, PG17 support</title><link href="https://vyruss.org/blog/pg_statviz-0.7-released-new-features-pg17-support.html" rel="alternate"></link><published>2024-07-22T13:37:00+01:00</published><updated>2024-07-22T13:37:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2024-07-22:/blog/pg_statviz-0.7-released-new-features-pg17-support.html</id><summary type="html">&lt;p&gt;Extension pg_statviz for time series analysis &amp;amp; visualization of Postgres internal statistics has released version 0.7 with new features and support for PostgreSQL 17.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;img alt="pg_statviz logo" src="images/pg_statviz_hires.png" style="width:33%" title="pg_statviz logo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm pleased to announce &lt;a href="https://github.com/vyruss/pg_statviz/releases/tag/v0.7"&gt;&lt;strong&gt;release 0.7&lt;/strong&gt;&lt;/a&gt; of &lt;a href="https://github.com/vyruss/pg_statviz/"&gt;&lt;strong&gt;&lt;code&gt;pg_statviz&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;, the minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics.&lt;/p&gt;
&lt;p&gt;This release comes with a huge new feature: the implementation of &lt;strong&gt;resampling&lt;/strong&gt; with &lt;a href="https://pandas.pydata.org/"&gt;pandas&lt;/a&gt; to permit effectively unlimited data analysis. Now you can take thousands, potentially millions of full statistics snapshots and squash all those 
data points to just 100 plot points (by default, using downsampling with mean values) to enable you to get a long-term view of your system's performance and statistics.&lt;/p&gt;
&lt;p&gt;&lt;a href="images/pg_statviz_-var-run-postgresql_5432_wait.png"&gt;&lt;img alt="Over 7 months of wait event statistics squashed down to 100 plot points" src="images/pg_statviz_-var-run-postgresql_5432_wait.png" title="Over 7 months of wait event statistics squashed down to 100 plot points"&gt;&lt;/a&gt;
&lt;small&gt;The chart above shows what 7 months of wait event statistics (over 300,000 data point snapshots) look like, downsampled to just 100 plot points.&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;Other new features: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The addition of server I/O stats from the view &lt;code&gt;pg_stat_io&lt;/code&gt;, which was added in PostgreSQL 16.&lt;/li&gt;
&lt;li&gt;Update for the upcoming PostgreSQL 17 release: &lt;code&gt;pg_stat_bgwriter&lt;/code&gt; has been broken up, and some stats have been moved to other views.&lt;/li&gt;
&lt;li&gt;The JSONB in the &lt;code&gt;conf&lt;/code&gt; table, which stores Postgres configuration snapshots, has been changed from &lt;code&gt;{"setting": "work_mem", "value": "4MB"}&lt;/code&gt; to &lt;code&gt;{"work_mem": "4MB"}&lt;/code&gt; to save approximately half the storage space on disk.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;pg_statviz&lt;/code&gt; takes the view that everything should be light and &lt;strong&gt;minimal&lt;/strong&gt;. Unlike commercial monitoring platforms, it doesn't require invasive agents or open connections to the database — it all lives inside your database.
The extension is plain SQL and pl/pgSQL and doesn't require modules to be loaded, the visualization utility is separate and can be run from anywhere, and your data is free and easy to export. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can download and install &lt;code&gt;pg_statviz&lt;/code&gt; from the PostgreSQL repositories or &lt;a href="https://pgxn.org/dist/pg_statviz/"&gt;PGXN&lt;/a&gt;.  &lt;/li&gt;
&lt;li&gt;The utility can also be installed from &lt;a href="https://pypi.org/project/pg_statviz/"&gt;PyPi&lt;/a&gt;.  &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vyruss/pg_statviz/tree/master?tab=readme-ov-file#manual-installation"&gt;Manual installation&lt;/a&gt; is also possible.&lt;/li&gt;
&lt;/ul&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="dba"></category><category term="extensions"></category></entry><entry><title>PGDay Lowlands and DBA Day 2024</title><link href="https://vyruss.org/blog/pgday-lowlands-dba-day-2024.html" rel="alternate"></link><published>2024-07-05T10:37:00+01:00</published><updated>2024-07-05T10:37:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2024-07-05:/blog/pgday-lowlands-dba-day-2024.html</id><summary type="html">&lt;p&gt;A new PostgreSQL event has appeared, and it's DBA Appreciation Day today!&lt;/p&gt;</summary><content type="html">&lt;p&gt;Some great news: there's a &lt;strong&gt;new European PostgreSQL event&lt;/strong&gt; in the Netherlands taking place in Amsterdam in September: &lt;strong&gt;&lt;a href="https://2024.pgday.nl/"&gt;PGDay Lowlands 2024&lt;/a&gt;&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;It is a community organised event and according to the About page: "PGDay Lowlands is a unique chance for European PostgreSQL users and developers to catch up, learn, build relationships, get to know each other and consolidate a real network of professionals that use and work with PostgreSQL"
and "The conference covers a wide range of topics, as we expect talks ranging from internals discussions led by leading developers to end-user case-studies from small companies as well as large multinational corporations and government organisations, all who run their businesses on PostgreSQL."&lt;/p&gt;
&lt;p&gt;Importantly for us community-minded folk: "…and let's not forget the all important hallway track full of caffeine infused discussions with interesting peers from the community, that will most likely spill over into local restaurants and pubs after the event finishes."&lt;/p&gt;
&lt;p&gt;&lt;a href="https://2024.pgday.nl/call-for-papers/"&gt;The Call for Papers&lt;/a&gt; is open until July 9, 2024 at 23:59:59 (millisecond accuracy not enforced) — I'd love to see more talks by/about developers using PostgreSQL, and more crazy use cases!&lt;/p&gt;
&lt;p&gt;Also, &lt;a href="https://2024.pgday.nl/registration/"&gt;registrations&lt;/a&gt; for PGDay Lowlands have opened today, with discount code &lt;strong&gt;Vroege Vogel&lt;/strong&gt; for Early Bird tickets (Yes, it means "early bird" in Dutch)!&lt;/p&gt;
&lt;p&gt;In somewhat related news, today is also &lt;strong&gt;Database Administrator Appreciation Day&lt;/strong&gt; a.k.a. &lt;a href="https://dbaday.org/"&gt;DBA Day&lt;/a&gt;! It's an annual event happening on the first Friday of July every year, and an opportunity to acknowledge the hard work that DBAs put in keeping most important computer systems in the world running.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🖥️ PGDay Lowlands 2024:&lt;/strong&gt; &lt;a href="https://2024.pgday.nl/"&gt;2024.pgday.nl&lt;/a&gt;, September 13th, Pakhuis de Zwijger, Amsterdam, NL&lt;/p&gt;
&lt;p&gt;&lt;a href="https://2024.pgday.nl/"&gt;&lt;img alt="PGDay Lowlands 2024" src="images/pgdaylowlands2024.jpeg" title="PGDay Lowlands 2024"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🖥️ DBA Day 2024:&lt;/strong&gt; &lt;a href="https://dbaday.org/"&gt;dbaday.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dbaday.org/"&gt;&lt;img alt="DBADay.org: Say thank you to your DBA" src="images/dbaday.jpeg" style="width:67%" title="DBADay.org: Say thank you to your DBA"&gt;&lt;/a&gt;&lt;/p&gt;</content><category term="articles"></category><category term="postgresql"></category><category term="conferences"></category><category term="dba"></category><category term="community"></category></entry><entry><title>POSETTE 2024 — How to Work with Other People</title><link href="https://vyruss.org/blog/posette-2024-how-to-work-with-other-people.html" rel="alternate"></link><published>2024-06-13T13:37:00+01:00</published><updated>2024-06-13T13:37:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2024-06-13:/blog/posette-2024-how-to-work-with-other-people.html</id><summary type="html">&lt;p&gt;Floor Drees and I just spoke at POSETTE 2024 about neurodiversity and mental health in IT &amp;amp; PostgreSQL Community!&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Jimmy Angelakos recording his talk for POSETTE 2024" src="images/posette_2024.jpeg" title="Jimmy Angelakos recording his talk for POSETTE 2024"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.citusdata.com/posette/2024/"&gt;POSETTE 2024&lt;/a&gt; is an online event for PostgreSQL (formerly known as Citus Con, kindly sponsored by Microsoft) which took place on June 11-13, 2024. It was wonderfully organised, and even though I prefer in-person events vs 
pre-recorded talks, it was very well executed and the audience participation via Discord live chat was great and very heartening.&lt;/p&gt;
&lt;p&gt;It was also my first time speaking at this conference and I could not have found a better collaborator than &lt;a href="https://hachyderm.io/@floord"&gt;Floor Drees&lt;/a&gt; to present this topic. We both thought it was really important to discuss the elephant in the room (forgive the pun)
of the often-overlooked reality of neurodivergence and mental health issues — often swept under the rug in IT circles, open-source projects, and yes, even our beloved PostgreSQL Community. We shared our own experiences but also what other people from the community 
kindly shared with us during our research for this talk.&lt;/p&gt;
&lt;p&gt;Building awareness is the first step on a journey that can lead to better outcomes for everyone: Better and more harmonious collaboration, improving the working lives of people, breaking groupthink, and less stress and tension all around. 
I do believe some things need to be adapted, and we can work together to make this gradual change happen.&lt;/p&gt;
&lt;p&gt;Without further ado, I present the talk below. It's very brief (we tried to cram everything into just over 25 minutes) so it won't take up too much of your time. &lt;/p&gt;
&lt;p&gt;I will be very happy to hear back from you at &lt;a href="https://fosstodon.org/@vyruss"&gt;@vyruss@fosstodon.org&lt;/a&gt; — your comments, your experiences, your testimonials. This is how we constructed this talk and how we will raise awareness together.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🎞️ Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=ZWWjPPC3I4w"&gt;youtube.com/watch?v=ZWWjPPC3I4w&lt;/a&gt;&lt;/p&gt;
&lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/ZWWjPPC3I4w?si=CMqKH8Pj6Q1xyIYT" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;🖥️ Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/posette2024_how_to_work_with_other_people.pdf"&gt;https://vyruss.org/computing/slides/posette2024_how_to_work_with_other_people.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On the occasion of the conference, Manning Publications has been kind enough to offer a &lt;strong&gt;discount code&lt;/strong&gt; for my book &lt;strong&gt;&lt;a href="http://mng.bz/EZ2j"&gt;PostgreSQL Mistakes and How to Avoid Them&lt;/a&gt;&lt;/strong&gt;, so you can use &lt;strong&gt;PGDC24&lt;/strong&gt; to get 45% off (Valid until July 25th, 2024)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mng.bz/EZ2j"&gt;&lt;img alt="PostgreSQL Mistakes and How to Avoid Them" src="images/postgresql_mistakes.jpg" style="width:50%" title="PostgreSQL Mistakes and How to Avoid Them cover"&gt;&lt;/a&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="posette"></category><category term="neurodiversity"></category><category term="community"></category></entry><entry><title>SCaLE 21x — Recovering from Data Loss Despite Not Having a Backup: A Postgres True Story</title><link href="https://vyruss.org/blog/scale-21x-recovering-data-loss-despite-not-having-backup-postgres-true-story.html" rel="alternate"></link><published>2024-03-25T19:00:00+00:00</published><updated>2024-03-25T19:00:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2024-03-25:/blog/scale-21x-recovering-data-loss-despite-not-having-backup-postgres-true-story.html</id><summary type="html">&lt;p&gt;I just came back from my first Southern California Linux Expo (SCaLE 21x) where I shared a true story about a remarkable PostgreSQL data recovery.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Catching some rays in Pasadena, CA!" src="images/scale_21x.jpeg" title="Jimmy Angelakos in front of SCaLE 21x at the Pasadena Convention Center in California"&gt;&lt;/p&gt;
&lt;p&gt;The 21st instalment of the &lt;a href="https://www.socallinuxexpo.org/scale/21x"&gt;Southern California Linux Expo&lt;/a&gt;, or &lt;a href="https://www.socallinuxexpo.org/scale/21x"&gt;SCaLE 21x&lt;/a&gt;, took place on March 14-17, 2024 at the Pasadena Convention Center. It was my first visit to the conference (and the US 
West Coast in general) and I was glad to see that it was a wonderfully organised event. For me, there's nothing that beats the community conference ethos and spirit. It was also awesome to see that PostgreSQL got two parallel tracks running throughout the first two days as well as 
a stand in the Expo hall (major props to &lt;a href="https://postgresql.us"&gt;PgUS&lt;/a&gt; for this!) It feels like we don't get enough conferences where you can walk around expo space and talk to people from Linux distributions and FOSS projects anymore, so I'm glad SCaLE in the US and FOSDEM in 
Europe are still going strong. Equally awesome was the opportunity to say hi to &lt;a href="https://twitter.com/maddoghall"&gt;Jon "maddog" Hall&lt;/a&gt; again after 14 years (!) and to thank him for being an inspiration for a career in open source.&lt;/p&gt;
&lt;p&gt;For a change, I decided to go with a storytelling format for my talk at SCaLE: &lt;a href="https://www.socallinuxexpo.org/scale/21x/presentations/recovering-data-loss-despite-not-having-backup-postgres-true-story"&gt;Recovering from Data Loss Despite Not Having a Backup: A Postgres True Story&lt;/a&gt; tells 
the tale of how a desperate call on a Friday evening led to an improbable data recovery to be celebrated on Sunday afternoon. Of course, this was all made possible by PostgreSQL's clean and robust design, and there's plenty of technical nitty-gritty in the talk for those that are 
thusly inclined.&lt;/p&gt;
&lt;p&gt;I don't want to spoil too much — you can hear the entire walkthrough in the linked video below — but the gist of it is a company's database was lost after a hard disk crash, and they had no redundancy or usable backups. Under intense time pressure, I had to reconstruct their DB 
from a bunch of recovered files having no logical directory structure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=mdjf9KtW92M"&gt;youtube.com/watch?v=mdjf9KtW92M&lt;/a&gt;&lt;/p&gt;
&lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/mdjf9KtW92M?si=HtF7H2jrtKr5xRvU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/scale21x_recovering_from_data_loss_despite_not_having_a_backup.pdf"&gt;vyruss.org/computing/slides/scale21x_recovering_from_data_loss_despite_not_having_a_backup.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On the occasion of the conference, Manning Publications has been kind enough to offer a &lt;strong&gt;discount code&lt;/strong&gt; for my book &lt;strong&gt;&lt;a href="http://mng.bz/EZ2j"&gt;PostgreSQL Mistakes and How to Avoid Them&lt;/a&gt;&lt;/strong&gt;, so you can use &lt;strong&gt;ctwscalex45&lt;/strong&gt; to get 45% off for the next 3 months!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://mng.bz/EZ2j"&gt;&lt;img alt="PostgreSQL Mistakes and How to Avoid Them" src="images/postgresql_mistakes.jpg" title="PostgreSQL Mistakes and How to Avoid Them cover"&gt;&lt;/a&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="scale"></category><category term="dba"></category><category term="datarecovery"></category><category term="disasterrecovery"></category></entry><entry><title>FOSSCOMM 2023 Heraklion — How PostgreSQL can help you enforce best practices</title><link href="https://vyruss.org/blog/fosscomm-2023-how-postgresql-helps-you-enforce-best-pratices.html" rel="alternate"></link><published>2024-02-20T14:00:00+00:00</published><updated>2024-02-20T14:00:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2024-02-20:/blog/fosscomm-2023-how-postgresql-helps-you-enforce-best-pratices.html</id><summary type="html">&lt;p&gt;A few months back I gave a talk at FOSSCOMM 2023 in Heraklion, Greece — and the footage has just been found!&lt;/p&gt;</summary><content type="html">&lt;p&gt;So here's a very delayed blog post! Back in late October 2023, I visited the &lt;a href="https://2023.fosscomm.gr"&gt;FOSSCOMM conference&lt;/a&gt; in Heraklion, Crete, Greece, organised for the 15th year running (!) by the Greek open source community.
As a community conference, there is a very heavy student presence, a really broad range of topics, and geeky stuff, and that is just awesome. The DIY spirit, volunteering and camaraderie brings out the best in people and makes it all enjoyable for attendees.
This conference accepts talks in either Greek or English and the level of talks was quite high. There were talks focused on beginners, community issues, but also very technical in-depth dives into stuff you've never thought about.&lt;/p&gt;
&lt;p&gt;After giving this talk, titled "How PostgreSQL helps you enforce best practices" at &lt;a href="https://2023.pgconf.nyc"&gt;PGConf.NYC&lt;/a&gt; I thought it might be interesting to the FOSSCOMM crowd, and it was indeed accepted for the conference. I was
happy to find out it would be recorded — but unfortunately, for a couple of months, it looked like the footage had been lost.&lt;/p&gt;
&lt;p&gt;One day last week, I was pleasantly surprised when one of the organisers got in touch and said they could give me access to some of the raw video files they had recovered from the talk recording! So I spent a couple of hours editing those, and what follows below is the best that I 
could do with them (so my apologies if it isn't TED talk quality).&lt;/p&gt;
&lt;p&gt;The basic idea is that many systems have commonalities that lend themselves to similar best practices for administration and maintenance. Database systems in particular are complex and have many correctness, performance, and security considerations. 
This talk discusses PostgreSQL best practices, and how these translate to best practices in general - it is very dense and that is why I've decided instead of rushing through the content, to expand on it and write a BOOK (but that's another blog post!)&lt;/p&gt;
&lt;p&gt;Topics discussed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using the proper data types&lt;/li&gt;
&lt;li&gt;Controlling parallelization &amp;amp; transaction rate&lt;/li&gt;
&lt;li&gt;How locking affects performance&lt;/li&gt;
&lt;li&gt;Home-brewing Distributed Systems (don't)&lt;/li&gt;
&lt;li&gt;Choosing the right encoding&lt;/li&gt;
&lt;li&gt;Configuring for production usage&lt;/li&gt;
&lt;li&gt;Tracking resource usage&lt;/li&gt;
&lt;li&gt;Security good practices&lt;/li&gt;
&lt;li&gt;High Availability good practices&lt;/li&gt;
&lt;li&gt;The importance of upgrading &amp;amp; how to do it right&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=xg048-n_wr4"&gt;youtube.com/watch?v=xg048-n_wr4&lt;/a&gt;&lt;/p&gt;
&lt;iframe width="100%" height="350" src="https://www.youtube.com/embed/xg048-n_wr4?si=m1lJ_6mdgaWOIx7G" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/fosscomm2023_how_postgresql_can_help_you_enforce_best_practices.pdf"&gt;vyruss.org/computing/slides/fosscomm2023_how_postgresql_can_help_you_enforce_best_practices.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Catching some rays in Crete!" src="images/fosscomm-2023.jpeg" title="Jimmy Angelakos in front of FOSSCOMM 2023 at the University of Crete in Heraklion, Greece"&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="fosscomm"></category><category term="dba"></category><category term="developer"></category></entry><entry><title>PGConf.EU 2023 — Unforgettable moments and how we rocked the house!</title><link href="https://vyruss.org/blog/pgconf-eu-2023-unforgettable-moments-how-we-rocked-the-house.html" rel="alternate"></link><published>2023-12-22T17:45:00+00:00</published><updated>2023-12-22T17:45:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2023-12-22:/blog/pgconf-eu-2023-unforgettable-moments-how-we-rocked-the-house.html</id><summary type="html">&lt;p&gt;PGConf.EU was a huge success, with many firsts and unforgettable moments.&lt;/p&gt;</summary><content type="html">&lt;p&gt;This year, the 13th annual PostgreSQL Conference Europe (&lt;a href="https://2023.pgconf.eu"&gt;PGConf.EU&lt;/a&gt; for short) took place from December 12th to December 15th in the beautiful Central European city of Prague.&lt;/p&gt;
&lt;p&gt;Before the main conference begins, there is a full day of training delivered by expert PostgreSQL professionals from all over the industry. &lt;/p&gt;
&lt;p&gt;Then, the conference was kicked off impressively by Simon Riggs's opening keynote "The Next 20 Years of PostgreSQL", and even newcomers to Postgres could immediately tell that this is a database powerhouse that is getting more compelling every day. 
The key take-away was that there's still lots of work to be done to drive wider adoption of PostgreSQL but also that there is a massively dedicated and passionate crowd of people willing to work to that end (even "retired" folks like Simon)!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Simon Riggs on stage delivering the opening keynote" src="images/20231213_095703.jpg" title="Simon Riggs on stage delivering the opening keynote"&gt;&lt;/p&gt;
&lt;p&gt;The first thing that was different this year was the number of attendees, and we broke every record with over 700 confirmed in attendance!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Magnus Hagander presenting a slide that shows 720 registrations" src="images/20231213_093824.jpg" title="Magnus Hagander presenting a slide that shows 720 registrations"&gt;&lt;/p&gt;
&lt;p&gt;My personal highlights:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Hosting the second in-person PostgreSQL Community Panel session at a PGConf.EU with some awesome Postgres experts:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alicja Kucharczyk (Program Manager — Azure Database for PostgreSQL at Microsoft) — Twitter: &lt;a href="https://twitter.com/StiepanTrofimo"&gt;@StiepanTrofimo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Henrietta Dombrovskaya (Database Architect at DRW, Chicago PostgreSQL User Group Local Organizer) — Twitter: &lt;a href="https://twitter.com/HettieDombr"&gt;@HettieDombr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jonathan S. Katz (Principal Product Manager - Technical at AWS, PostgreSQL Core Team Member) — Mastodon: &lt;a href="https://fosstodon.org/@jkatz05"&gt;@jkatz05@fosstodon.org&lt;/a&gt;, Twitter: &lt;a href="https://twitter.com/jkatz05"&gt;@jkatz05&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Stephen Frost (CTO at Crunchy Data, PostgreSQL Major Contributor) — Twitter: &lt;a href="https://twitter.com/net_snow"&gt;@net_snow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Our topic was "&lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4688-community-panel-postgres-at-scale-dealing-with-challenging-workloads/"&gt;Postgres at scale: Dealing with challenging workloads&lt;/a&gt;" and we got to hear awesome performance tips and insights, as well as a quick-fire "anti-patterns we love to hate" round! Let's make this a tradition!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Photo of me having too much fun at the Community Panel (by Claire Giordano)" src="images/image-2.jpeg" title="Photo of me having too much fun at the Community Panel"&gt;
&lt;img alt="Photo of the 4 panellists (by Floor Drees)" src="images/image.jpeg" title="Photo of the 4 panellists"&gt;&lt;/p&gt;
&lt;p&gt;Interest areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Very large datasets / tables&lt;/li&gt;
&lt;li&gt;High transaction rate&lt;/li&gt;
&lt;li&gt;Extreme concurrency&lt;/li&gt;
&lt;li&gt;Problematic data types&lt;/li&gt;
&lt;li&gt;Applications using anti-patterns&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can get an idea of the topics discussed from these background slides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vyruss.org/computing/slides/pgconfeu2023_community_panel.pdf"&gt;vyruss.org/computing/slides/pgconfeu2023_community_panel.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2. Release of PostgreSQL 16 Administration Cookbook and signing event:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a spectacular effort co-ordinated by publisher Packt, we released the &lt;a href="https://www.packtpub.com/product/postgresql-16-administration-cookbook/9781835460580"&gt;PostgreSQL 16 Administration Cookbook! — this link gets you 15% off during December 2023:&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.packtpub.com/product/postgresql-16-administration-cookbook/9781835460580"&gt;&lt;img alt="PostgreSQL 16 Administration Cookbook cover" src="images/81zkZeK5PnL._SL1500_.jpg" style="width:50%;padding:auto" title="PostgreSQL 16 Administration Cookbook cover"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.packtpub.com/product/postgresql-16-administration-cookbook/9781835460580"&gt;🌐 &lt;strong&gt;Packt&lt;/strong&gt;:  packtpub.com/product/postgresql-16-administration-cookbook/9781835460580&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/PostgreSQL-Administration-Cookbook-real-world-challenges-ebook/dp/B0CP5PPSTQ"&gt;🌐 &lt;strong&gt;Amazon US&lt;/strong&gt;: amazon.com/PostgreSQL-Administration-Cookbook-real-world-challenges-ebook/dp/B0CP5PPSTQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.co.uk/PostgreSQL-Administration-Cookbook-real-world-challenges/dp/1835460585"&gt;🌐 &lt;strong&gt;Amazon UK&lt;/strong&gt;: amazon.co.uk/PostgreSQL-Administration-Cookbook-real-world-challenges/dp/1835460585&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I was very glad to meet up with my co-authors Gianni Ciolli, Boriss Mejías, Vibhor Kumar and Simon Riggs:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Obligatory group photo of the PostgreSQL 16 Administration Cookbook co-authors (by Sabine Schatzer)" src="images/IMG_6045.HEIC.jpeg" title="Obligatory group photo of the PostgreSQL 16 Administration Cookbook co-authors"&gt;&lt;/p&gt;
&lt;p&gt;And I was beyond humbled to participate in the crazy signing event for our book, graciously hosted at the EDB booth:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Signing the PostgreSQL 16 Administration Cookbook (photo by Sabine Schatzer)" src="images/IMG_6229.HEIC.jpeg" title="Signing the PostgreSQL 16 Administration Cookbook"&gt;&lt;/p&gt;
&lt;p&gt;It was incredible to see your support for our book 💗 and I hope it will be a useful resource for the Postgres community!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Long queue for the PostgreSQL 16 Administration Cookbook signing event (photo by Sabine Schatzer)" src="images/IMG_6176.HEIC.jpeg" title="Long queue for the PostgreSQL 16 Administration Cookbook signing event"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Google Summer of Code&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I was also fortunate this year to be able to mentor &lt;a href="https://fosstodon.org/@rajivharlalka009"&gt;Rajiv Harlalka&lt;/a&gt; for Google Summer of Code 2023, and his PostgreSQL contribution was working to improve the &lt;a href="https://github.com/vyruss/pg_statviz"&gt;pg_statviz PostgreSQL extension&lt;/a&gt; I created. &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4797-charting-my-path-journey-of-a-gsoc-2023-contributor-to-postgresql-with-pg_statviz/"&gt;In his talk, he shared his journey&lt;/a&gt; as a GSoC Contributor and a new member of the PostgreSQL community!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Obligatory GSoC selfie (by Pavlo Golub)" src="images/1702567754577.jpeg" title="Obligatory GSoC selfie"&gt;&lt;/p&gt;
&lt;p&gt;Rajiv and fellow student &lt;a href="https://twitter.com/Kyllex5"&gt;Akshat Jaimini&lt;/a&gt; made the (very) long trip from India to present at the conference, and we couldn't be happier to meet them there in person and &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4804-making-pgweb-rock-solid-using-the-testing-harness-to-ensure-the-quality-of-pgweb/"&gt;hear their stories&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Rajiv Harlalka speaking on stage at PGConf.EU (photo by Boriss Mejías)" src="images/1702892808589.jpeg" title="Rajiv Harlalka speaking on stage at PGConf.EU"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Other talks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, as I was hosting some of the conference rooms, I wasn't able to attend all the talks that I wanted to, but: Good news! For the first time at a PGConf.EU, there was video recording of the sessions so everyone will be able to catch up with the ones they missed!&lt;/p&gt;
&lt;p&gt;Among the great talks that I was able to attend were:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fosstodon.org/@jkatz05"&gt;Jonathan S. Katz&lt;/a&gt;'s talk on pgvector &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4592-vectors-are-the-new-json/"&gt;Vectors are the new JSON&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/HLinnakangas"&gt;Heikki Linnakangas&lt;/a&gt; exploring the topic of &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4845-multi-threaded-postgresql/"&gt;Multi-threaded PostgreSQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@danielwestermann"&gt;Daniel Westermann&lt;/a&gt; on &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4774-getting-the-most-out-of-pg_stat_io/"&gt;Getting the most out of pg_stat_io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Derk van Veen &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4814-explaining-the-postgresql-concurrency-control-mechanisms-using-rollercoasters/"&gt;Explaining the PostgreSQL concurrency control mechanisms using rollercoasters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Laurenz Albe on &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4602-how-to-corrupt-your-database-and-how-to-deal-with-data-corruption/"&gt;How to corrupt your database (and how to deal with data corruption)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Chelsea Dole with &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4699-its-not-you-its-me-breaking-up-with-massive-tables-via-partitioning/"&gt;It's Not You, It's Me: Breaking Up with Massive Tables via Partitioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.world/@tchorix"&gt;Boriss Mejías&lt;/a&gt; with the burning question &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4900-should-i-use-json-in-postgresql/"&gt;Should I use JSON in PostgreSQL?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AndresFreundTec"&gt;Andres Freund&lt;/a&gt; and &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4856-the-path-to-using-aio-in-postgres/"&gt;The path to using AIO in Postgres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosstodon.org/@michaelpq"&gt;Michael Paquier&lt;/a&gt; with some &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4859-postgresql-hacker-tips/"&gt;PostgreSQL hacker tips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/StiepanTrofimo"&gt;Alicja Kucharczyk&lt;/a&gt; on &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4720-leveraging-pgbadger-for-effective-postgresql-troubleshooting/"&gt;Leveraging pgBadger for Effective PostgreSQL Troubleshooting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(Slides available from talk links)&lt;/p&gt;
&lt;p&gt;Of course, the Sponsor Keynotes by &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5143-why-using-open-source-postgresql-matters/"&gt;CYBERTEC CEO Hans-Jürgen Schönig&lt;/a&gt;, &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5140-building-for-the-future-and-betting-big-on-postgres/"&gt;EDB CEO Kevin Dallas&lt;/a&gt;, &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5146-all-the-postgres-things-at-microsoft/"&gt;Microsoft Group Program Manager for Postgres on Azure Charles Feddersen&lt;/a&gt; and &lt;a href="https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5148-towards-an-open-portable-and-managed-postgresql/"&gt;Ubicloud co-founder and co-CEO Ozgun Erdogan&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And last but not least, the Lightning Talks!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Lightning talks at PGConf.EU 2023" src="images/20231215_160319.jpg" title="Lightning talks at PGConf.EU 2023"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Many thanks&lt;/strong&gt; to the organisers, fellow volunteers and speakers of PGConf.EU for holding what is now the premier PostgreSQL event in the world. Leaving Prague was bittersweet because of the amazing PostgreSQL community, the most helpful and supportive one I've ever been a part of. I always wish there was more time to speak to and meet more people, but then again, there's more community events next year!&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="pgconfeu"></category><category term="dba"></category><category term="developer"></category><category term="community"></category></entry><entry><title>PGConf.DE 2023 — The Last Hurrah of "Don't Do This"?</title><link href="https://vyruss.org/blog/dont-do-this-pgconfde-2023.html" rel="alternate"></link><published>2023-06-27T13:15:00+01:00</published><updated>2023-06-27T13:15:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2023-06-27:/blog/dont-do-this-pgconfde-2023.html</id><summary type="html">&lt;p&gt;At PGConf.DE I gave a talk about what not to do with Postgres for the last (?) time.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Today at &lt;a href="https://2023.pgconf.de"&gt;PGConf.DE 2023 in Essen&lt;/a&gt; I gave for the third and final time the talk titled "Don't Do This", inspired by the 
legendary &lt;a href="https://wiki.postgresql.org/wiki/Don%27t_Do_This"&gt;"Don't Do This"&lt;/a&gt; PostgreSQL wiki page. We looked at some common mistakes and 
misconceptions that Postgres users can face - and showed possible ways to undo them or workarounds. This talk, as it turns out, is perhaps too packed 
with content, and will now be retired. However, it will resurface in a significantly different form at &lt;a href="https://2023.pgconf.nyc"&gt;PGConf NYC 2023 in October&lt;/a&gt;, so keep an eye out 
for that!&lt;/p&gt;
&lt;p&gt;Some of the things discussed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bad SQL habits&lt;/li&gt;
&lt;li&gt;Correct types for data storage&lt;/li&gt;
&lt;li&gt;(Sub-)Partitioning (and how to get it wrong)&lt;/li&gt;
&lt;li&gt;Table inheritance (and how to undo it)&lt;/li&gt;
&lt;li&gt;Connections (number of, and properly handling)&lt;/li&gt;
&lt;li&gt;Security issues (unsafe configurations and usage)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/pgconfde2023_dont_do_this.pdf"&gt;vyruss.org/computing/slides/pgconfde2023_dont_do_this.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Many thanks&lt;/strong&gt; to the organisers of PGConf.DE for an awesome European event.&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="fosdem"></category><category term="dba"></category><category term="developer"></category></entry><entry><title>FOSDEM 2023 - Don't Do this</title><link href="https://vyruss.org/blog/dont-do-this-fosdem-2023.html" rel="alternate"></link><published>2023-02-09T11:25:00+00:00</published><updated>2023-02-09T11:25:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2023-02-09:/blog/dont-do-this-fosdem-2023.html</id><summary type="html">&lt;p&gt;Just came back from FOSDEM 2023 where, among other things, I gave a talk about what not to do with Postgres.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last Sunday, I gave a talk at &lt;a href="https://fosdem.org/2023"&gt;FOSDEM 2023 in Brussels&lt;/a&gt; in the packed &lt;a href="https://archive.fosdem.org/2023/schedule/track/postgresql/"&gt;PostgreSQL Devroom&lt;/a&gt;.
It was great to be back at ULB after 2 years! Community conferences have just got this amazing DIY ethic and laid-back attitude, yet somehow 
end up being as good as or even better than industry conferences, with a very high level of talks and professionalism.&lt;/p&gt;
&lt;p&gt;The talk, titled "Don't Do This" was based on the legendary &lt;a href="https://wiki.postgresql.org/wiki/Don%27t_Do_This"&gt;"Don't Do This"&lt;/a&gt; PostgreSQL wiki page. 
We explored some of the common pitfalls and misconceptions
that Postgres users can face - and showed possible ways to undo them or workarounds. &lt;/p&gt;
&lt;p&gt;Some of the things discussed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bad SQL habits&lt;/li&gt;
&lt;li&gt;Correct types for data storage&lt;/li&gt;
&lt;li&gt;(Sub-)Partitioning (and how to get it wrong)&lt;/li&gt;
&lt;li&gt;Table inheritance (and how to undo it)&lt;/li&gt;
&lt;li&gt;Connections (number of, and properly handling)&lt;/li&gt;
&lt;li&gt;Security issues (unsafe configurations and usage)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Video on YouTube:&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=vxuPW4Ottrk"&gt;youtube.com/watch?v=vxuPW4Ottrk&lt;/a&gt;&lt;/p&gt;
&lt;iframe width="100%" height="315" src="https://www.youtube.com/embed/vxuPW4Ottrk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;Link to talk slides:&lt;/strong&gt; &lt;a href="https://vyruss.org/computing/slides/fosdem2023_dont_do_this.pdf"&gt;vyruss.org/computing/slides/fosdem2023_dont_do_this.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Many thanks&lt;/strong&gt; to Boriss Mejías (&lt;a href="https://mastodon.world/@tchorix"&gt;tchorix&lt;/a&gt;) for his awesome hosting, and Karen Jex (&lt;a href="https://mastodon.online/@karenhjex"&gt;karenhjex&lt;/a&gt;) for 
immediately jumping in to help when my laptop battery hilariously died near the end!&lt;/p&gt;
&lt;p&gt;&lt;img alt="On stage at the PostgreSQL Devroom" src="images/fosdem-2023.jpeg" title="Jimmy Angelakos on stage at the PostgreSQL Devroom"&gt;
Awesome pic by &lt;a href="https://hachyderm.io/@clairegiordano"&gt;Claire Giordano&lt;/a&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="fosdem"></category><category term="dba"></category><category term="developer"></category></entry><entry><title>PGConf.EU 2022 Berlin — PostgreSQL Community Panel: Upgradability</title><link href="https://vyruss.org/blog/postgresql-community-panel-upgradability-pgconf-eu-2022-berlin.html" rel="alternate"></link><published>2022-10-30T15:55:00+00:00</published><updated>2022-10-30T15:55:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-30:/blog/postgresql-community-panel-upgradability-pgconf-eu-2022-berlin.html</id><summary type="html">&lt;p&gt;Just tried out a new panel talk format for PGConf.EU 2022 and feedback was great.&lt;/p&gt;</summary><content type="html">&lt;p&gt;A few days ago we tried out a new talk format at &lt;a href="https://2022.pgconf.eu"&gt;PGConf.EU 2022 in Berlin&lt;/a&gt; in the form of a community panel discussing a topic and we chose the subject of PostgreSQL upgrades.&lt;br&gt;
The feedback we received was great, and I'm looking forward to trying out different subjects in a panel format at future Postgres conferences. &lt;/p&gt;
&lt;p&gt;I was fortunate enough to be joined by some great fellow Postgres community members:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Karen Jex (Senior Solutions Architect, Crunchy Data - Twitter: &lt;a href="https://twitter.com/karenhjex"&gt;@karenhjex&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Nikolay Samokhvalov (Founder, Postgres.ai &amp;amp; Database Lab - Twitter: &lt;a href="https://twitter.com/samokhvalov"&gt;@samokhvalov&lt;/a&gt;) &lt;/li&gt;
&lt;li&gt;Andreas Scherbaum (Head of Databases, Adjust GmbH - Twitter: &lt;a href="https://twitter.com/ascherbaum"&gt;@ascherbaum&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Photo 1 of the 4 panellists" src="images/1.jpg" title="Photo 1 of the 4 panellists"&gt;
&lt;img alt="Photo 2 of the 4 panellists" src="images/2.jpg" title="Photo 2 of the 4 panellists"&gt;
&lt;img alt="Photo 3 of the 4 panellists" src="images/3.jpg" title="Photo 3 of the 4 panellists"&gt;&lt;/p&gt;
&lt;p&gt;During our conversation we went over the importance of upgrading early and often, how PostgreSQL releases are organised, what works great, but also pet peeves and pain points, and ways in which the experience can be improved.&lt;/p&gt;
&lt;p&gt;Regrettably, conference policy this year did not permit video recording of the session. We are working behind the scenes to make this change in the next edition of PGConf.EU. &lt;/p&gt;
&lt;p&gt;Meanwhile, if you would indeed be interested in a recording please let us know on Twitter at &lt;a href="https://twitter.com/vyruss"&gt;@vyruss&lt;/a&gt; and at the other participants' links above.&lt;br&gt;
I am very grateful to the participants for contributing their time to discuss this important topic, and while it is very unlikely that you'll get the same conversation (or that our schedules will permit getting together for another go) we could always give it a try.&lt;/p&gt;
&lt;p&gt;You can sort of get an idea of the talking points we went over from these slides:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vyruss.org/computing/slides/pgconfeu2022_postgresql_community_panel_upgradability.pdf"&gt;PGConf.EU 2022 - PostgreSQL Community Panel: Upgradability&lt;/a&gt;&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="pgconfeu"></category><category term="dba"></category></entry><entry><title>Fri 28 Oct 2022 22:24:49</title><link href="https://vyruss.org/blog/fri-28-oct-2022-222449.html" rel="alternate"></link><published>2022-10-28T22:24:49+00:00</published><updated>2022-10-28T22:24:49+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-28:/blog/fri-28-oct-2022-222449.html</id><summary type="html">&lt;p&gt;Thank you for the knowledge sharing, the hallway conversations, the friendship, the mentorship. The speakers, organisers, volunteers &amp;amp; attendees made #pgconfeu 2022 a great experience. You are the people that make the #PostgreSQL community awesome! #postgres #database #opensource&lt;/p&gt;</summary><content type="html">&lt;p&gt;Thank you for the knowledge sharing, the hallway conversations, the friendship, the mentorship. The speakers, organisers, volunteers &amp;amp; attendees made #pgconfeu 2022 a great experience. You are the people that make the #PostgreSQL community awesome! #postgres #database #opensource &lt;img alt="" src="images/1586121837859074048-FgMJZoXWIAAe95q.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1586121837859074048"&gt;Fri Oct 28 22:24:49 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 28 Oct 2022 14:42:43</title><link href="https://vyruss.org/blog/fri-28-oct-2022-144243.html" rel="alternate"></link><published>2022-10-28T14:42:43+00:00</published><updated>2022-10-28T14:42:43+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-28:/blog/fri-28-oct-2022-144243.html</id><summary type="html">&lt;p&gt;Hearing someone talk about migrating non-postgres applications to something that is also not #postgres #pgconfeu&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hearing someone talk about migrating non-postgres applications to something that is also not #postgres #pgconfeu &lt;img alt="" src="https://t.co/htCGlAopl4"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1586005545232011265"&gt;Fri Oct 28 14:42:43 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 28 Oct 2022 13:16:59</title><link href="https://vyruss.org/blog/fri-28-oct-2022-131659.html" rel="alternate"></link><published>2022-10-28T13:16:59+00:00</published><updated>2022-10-28T13:16:59+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-28:/blog/fri-28-oct-2022-131659.html</id><summary type="html">&lt;p&gt;⚠️ @JCasanovaEC of @systemguards shows that there's still not complete feature parity between pglogical and #postgres native logical replication #pgconfeu #postgresql&lt;/p&gt;</summary><content type="html">&lt;p&gt;⚠️ @JCasanovaEC of @systemguards shows that there's still not complete feature parity between pglogical and #postgres native logical replication #pgconfeu #postgresql &lt;img alt="" src="images/1585983972311330817-FgKMBHuX0AA7sQ3.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1585983972311330817"&gt;Fri Oct 28 13:16:59 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 27 Oct 2022 15:33:06</title><link href="https://vyruss.org/blog/thu-27-oct-2022-153306.html" rel="alternate"></link><published>2022-10-27T15:33:06+00:00</published><updated>2022-10-27T15:33:06+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-27:/blog/thu-27-oct-2022-153306.html</id><summary type="html">&lt;p&gt;Whoa!? Big surprise! By show of hands, not many of the #pgconfeu attendees would support a renaming of #PostgreSQL to #Postgres!&lt;/p&gt;</summary><content type="html">&lt;p&gt;Whoa!? Big surprise! By show of hands, not many of the #pgconfeu attendees would support a renaming of #PostgreSQL to #Postgres!&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1585655838483570692"&gt;Thu Oct 27 15:33:06 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 27 Oct 2022 13:44:58</title><link href="https://vyruss.org/blog/thu-27-oct-2022-134458.html" rel="alternate"></link><published>2022-10-27T13:44:58+00:00</published><updated>2022-10-27T13:44:58+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-27:/blog/thu-27-oct-2022-134458.html</id><summary type="html">&lt;p&gt;.@robertmhaas rocking the place with some real world talk #postgres #pgconfeu #postgresql&lt;/p&gt;</summary><content type="html">&lt;p&gt;.@robertmhaas rocking the place with some real world talk #postgres #pgconfeu #postgresql &lt;img alt="" src="images/1585628626640588801-FgFI1NKaMAMqxcy.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1585628626640588801"&gt;Thu Oct 27 13:44:58 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 26 Oct 2022 14:40:54</title><link href="https://vyruss.org/blog/wed-26-oct-2022-144054.html" rel="alternate"></link><published>2022-10-26T14:40:54+00:00</published><updated>2022-10-26T14:40:54+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-26:/blog/wed-26-oct-2022-144054.html</id><summary type="html">&lt;p&gt;Thank you so much to @samokhvalov @Karenhjex @ascherbaum for participating! Many good points and questions raised! #pgconfeu #postgres #postgresql&lt;/p&gt;</summary><content type="html">&lt;p&gt;Thank you so much to @samokhvalov @Karenhjex @ascherbaum for participating! Many good points and questions raised! #pgconfeu #postgres #postgresql https://twitter.com/sjstoelting/status/1585255943725408260&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1585280315584544771"&gt;Wed Oct 26 14:40:54 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 26 Oct 2022 10:32:31</title><link href="https://vyruss.org/blog/wed-26-oct-2022-103231.html" rel="alternate"></link><published>2022-10-26T10:32:31+00:00</published><updated>2022-10-26T10:32:31+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-26:/blog/wed-26-oct-2022-103231.html</id><summary type="html">&lt;p&gt;.@gitlab speaking about how read/write query separation is necessary for single-master #postgres scaling. #pgconfeu #postgresql&lt;/p&gt;</summary><content type="html">&lt;p&gt;.@gitlab speaking about how read/write query separation is necessary for single-master #postgres scaling. #pgconfeu #postgresql &lt;img alt="" src="images/1585217807540969473-Ff_TMdEXgAAOYfU.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1585217807540969473"&gt;Wed Oct 26 10:32:31 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 26 Oct 2022 08:32:12</title><link href="https://vyruss.org/blog/wed-26-oct-2022-083212.html" rel="alternate"></link><published>2022-10-26T08:32:12+00:00</published><updated>2022-10-26T08:32:12+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-26:/blog/wed-26-oct-2022-083212.html</id><summary type="html">&lt;p&gt;@magnushagander @samokhvalov @PostgreSQL What's wrong with recording our panel conversation but excluding the audience questions? Nobody's privacy is affected&lt;/p&gt;</summary><content type="html">&lt;p&gt;@magnushagander @samokhvalov @PostgreSQL What's wrong with recording our panel conversation but excluding the audience questions? Nobody's privacy is affected&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1585187525387517952"&gt;Wed Oct 26 08:32:12 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 13 Oct 2022 13:20:22</title><link href="https://vyruss.org/blog/thu-13-oct-2022-132022.html" rel="alternate"></link><published>2022-10-13T13:20:22+00:00</published><updated>2022-10-13T13:20:22+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-13:/blog/thu-13-oct-2022-132022.html</id><summary type="html">&lt;p&gt;RT @PostgreSQL: News: PostgreSQL 15 Released!&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @PostgreSQL: News: PostgreSQL 15 Released! https://www.postgresql.org/about/news/postgresql-15-released-2526/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1580549005221588992"&gt;Thu Oct 13 13:20:22 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 11 Oct 2022 14:37:00</title><link href="https://vyruss.org/blog/tue-11-oct-2022-143700.html" rel="alternate"></link><published>2022-10-11T14:37:00+00:00</published><updated>2022-10-11T14:37:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-11:/blog/tue-11-oct-2022-143700.html</id><summary type="html">&lt;p&gt;I'm hosting a #PostgreSQL Community Panel on Upgradability with @ascherbaum, @Karenhjex and @samokhvalov at @pgconfeu 2022 in Berlin in two weeks! Come say hi!&lt;/p&gt;</summary><content type="html">&lt;p&gt;I'm hosting a #PostgreSQL Community Panel on Upgradability with @ascherbaum, @Karenhjex and @samokhvalov at @pgconfeu 2022 in Berlin in two weeks! Come say hi!&lt;br&gt;
https://youtube.com/shorts/L-s5gY7361I #postgres #database #opensource&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1579843516041416704"&gt;Tue Oct 11 14:37:00 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 07 Oct 2022 13:29:06</title><link href="https://vyruss.org/blog/fri-07-oct-2022-132906.html" rel="alternate"></link><published>2022-10-07T13:29:06+00:00</published><updated>2022-10-07T13:29:06+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-07:/blog/fri-07-oct-2022-132906.html</id><summary type="html">&lt;p&gt;RT @EDBPostgres: Full house today at EDB Postgres, Cloud and Kubernetes Day in Milan, Italy! 👏&lt;/p&gt;</summary><content type="html">&lt;h1&gt;ConnectwithEDB #Postgres #OpenSource #Dat…&lt;/h1&gt;
&lt;p&gt;RT @EDBPostgres: Full house today at EDB Postgres, Cloud and Kubernetes Day in Milan, Italy! 👏   &lt;/p&gt;
&lt;h1&gt;ConnectwithEDB #Postgres #OpenSource #Dat…&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1578376877038702593"&gt;Fri Oct 07 13:29:06 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 05 Oct 2022 08:54:30</title><link href="https://vyruss.org/blog/wed-05-oct-2022-085430.html" rel="alternate"></link><published>2022-10-05T08:54:30+00:00</published><updated>2022-10-05T08:54:30+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-05:/blog/wed-05-oct-2022-085430.html</id><summary type="html">&lt;p&gt;RT @pgconfeu: Read the #pgconfeu speaker interview with Tomas Vondra (@fuzzycz).&lt;/p&gt;</summary><content type="html">&lt;h1&gt;PostgreSQL #conference #Berlin&lt;/h1&gt;
&lt;p&gt;https://2022.pgconf.eu/speaker-interviews/tomas-vondra/
RT @pgconfeu: Read the #pgconfeu speaker interview with Tomas Vondra (@fuzzycz).  &lt;/p&gt;
&lt;h1&gt;PostgreSQL #conference #Berlin&lt;/h1&gt;
&lt;p&gt;https://2022.pgconf.eu/speaker-interviews/tomas-vondra/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1577582993908154368"&gt;Wed Oct 05 08:54:30 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 04 Oct 2022 16:03:48</title><link href="https://vyruss.org/blog/tue-04-oct-2022-160348.html" rel="alternate"></link><published>2022-10-04T16:03:48+00:00</published><updated>2022-10-04T16:03:48+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-10-04:/blog/tue-04-oct-2022-160348.html</id><summary type="html">&lt;p&gt;RT @pgconfeu: Read the #pgconfeu speaker interview with Nikolay Samokhvalov (@samokhvalov).&lt;/p&gt;</summary><content type="html">&lt;h1&gt;PostgreSQL #conference #Berlin&lt;/h1&gt;
&lt;p&gt;https://t.co/…
RT @pgconfeu: Read the #pgconfeu speaker interview with Nikolay Samokhvalov (@samokhvalov).  &lt;/p&gt;
&lt;h1&gt;PostgreSQL #conference #Berlin&lt;/h1&gt;
&lt;p&gt;https://t.co/…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1577328644292333568"&gt;Tue Oct 04 16:03:48 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 28 Sep 2022 12:35:40</title><link href="https://vyruss.org/blog/wed-28-sep-2022-123540.html" rel="alternate"></link><published>2022-09-28T12:35:40+00:00</published><updated>2022-09-28T12:35:40+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-09-28:/blog/wed-28-sep-2022-123540.html</id><summary type="html">&lt;p&gt;RT @opensourceway: Drop your database for PostgreSQL&lt;/p&gt;</summary><content type="html">&lt;p&gt;Postgres is one of the most flexible databases available, and it's open source.&lt;/p&gt;
&lt;p&gt;https…
RT @opensourceway: Drop your database for PostgreSQL&lt;br&gt;
Postgres is one of the most flexible databases available, and it's open source.  &lt;/p&gt;
&lt;p&gt;https…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1575101935304134657"&gt;Wed Sep 28 12:35:40 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 20 Sep 2022 12:38:19</title><link href="https://vyruss.org/blog/tue-20-sep-2022-123819.html" rel="alternate"></link><published>2022-09-20T12:38:19+00:00</published><updated>2022-09-20T12:38:19+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-09-20:/blog/tue-20-sep-2022-123819.html</id><summary type="html">&lt;p&gt;RT @planetpostgres: Hans-Juergen Schoenig (@postgresql_007): PostgreSQL: Sequences vs. Invoice numbers&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @planetpostgres: Hans-Juergen Schoenig (@postgresql_007): PostgreSQL: Sequences vs. Invoice numbers https://postgr.es/p/5pO&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1572203500053872640"&gt;Tue Sep 20 12:38:19 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 05 Sep 2022 20:51:10</title><link href="https://vyruss.org/blog/mon-05-sep-2022-205110.html" rel="alternate"></link><published>2022-09-05T20:51:10+00:00</published><updated>2022-09-05T20:51:10+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-09-05:/blog/mon-05-sep-2022-205110.html</id><summary type="html">&lt;p&gt;@brihal4457 @ascherbaum @pgexperts @Xof @pgconfnyc Make sure the Postgres service is running by checking either with Windows services or with systemd under Linux. Also check that it's actually using the default port 5432.&lt;/p&gt;</summary><content type="html">&lt;p&gt;@brihal4457 @ascherbaum @pgexperts @Xof @pgconfnyc Make sure the Postgres service is running by checking either with Windows services or with systemd under Linux. Also check that it's actually using the default port 5432.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1566891714501136385"&gt;Mon Sep 05 20:51:10 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 04 Aug 2022 15:03:32</title><link href="https://vyruss.org/blog/thu-04-aug-2022-150332.html" rel="alternate"></link><published>2022-08-04T15:03:32+00:00</published><updated>2022-08-04T15:03:32+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-08-04:/blog/thu-04-aug-2022-150332.html</id><summary type="html">&lt;p&gt;RT @sjstoelting: Just finished some work on another #PostgreSQL foreign data wrapper #SPARQL.This one is based on multicorn2 now&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @sjstoelting: Just finished some work on another #PostgreSQL foreign data wrapper #SPARQL.This one is based on multicorn2 now&lt;br&gt;
https://t.…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1555207818428485632"&gt;Thu Aug 04 15:03:32 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 21 Jul 2022 21:53:35</title><link href="https://vyruss.org/blog/thu-21-jul-2022-215335.html" rel="alternate"></link><published>2022-07-21T21:53:35+00:00</published><updated>2022-07-21T21:53:35+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-07-21:/blog/thu-21-jul-2022-215335.html</id><summary type="html">&lt;p&gt;RT @PostgresWomen: Thanks to a very generous and anonymous donor, we have free tickets for 2 amazing women to attend pgconf Europe in Berli…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @PostgresWomen: Thanks to a very generous and anonymous donor, we have free tickets for 2 amazing women to attend pgconf Europe in Berli…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1550237580851019776"&gt;Thu Jul 21 21:53:35 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 08 Jul 2022 13:47:11</title><link href="https://vyruss.org/blog/fri-08-jul-2022-134711.html" rel="alternate"></link><published>2022-07-08T13:47:11+00:00</published><updated>2022-07-08T13:47:11+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-07-08:/blog/fri-08-jul-2022-134711.html</id><summary type="html">&lt;p&gt;So many great talk submissions to @pgconfeu. I'm quietly confident an excellent conference is brewing ☕️ #pgconfeu #postgres #postgresql #opensource #database&lt;/p&gt;</summary><content type="html">&lt;p&gt;So many great talk submissions to @pgconfeu. I'm quietly confident an excellent conference is brewing ☕️ #pgconfeu #postgres #postgresql #opensource #database&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1545404132160409600"&gt;Fri Jul 08 13:47:11 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 07 Jul 2022 20:19:57</title><link href="https://vyruss.org/blog/thu-07-jul-2022-201957.html" rel="alternate"></link><published>2022-07-07T20:19:57+00:00</published><updated>2022-07-07T20:19:57+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-07-07:/blog/thu-07-jul-2022-201957.html</id><summary type="html">&lt;p&gt;RT @CloudNativePg: Proud to announce #CloudNativePG 1.16.0 and 1.15.2 are out!&lt;/p&gt;</summary><content type="html">&lt;p&gt;You can now easily import your #PostgreSQL databases inside…
RT @CloudNativePg: Proud to announce #CloudNativePG 1.16.0 and 1.15.2 are out!  &lt;/p&gt;
&lt;p&gt;You can now easily import your #PostgreSQL databases inside…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1545140585115394049"&gt;Thu Jul 07 20:19:57 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 04 Jul 2022 14:15:32</title><link href="https://vyruss.org/blog/mon-04-jul-2022-141532.html" rel="alternate"></link><published>2022-07-04T14:15:32+00:00</published><updated>2022-07-04T14:15:32+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-07-04:/blog/mon-04-jul-2022-141532.html</id><summary type="html">&lt;p&gt;@postgre_s @johnnyq72 @d_gustafsson @l_avrot @saschild @pg_xocolatl @ascherbaum @Swiss_PGDay Discussion Paused...gres&lt;/p&gt;</summary><content type="html">&lt;p&gt;@postgre_s @johnnyq72 @d_gustafsson @l_avrot @saschild @pg_xocolatl @ascherbaum @Swiss_PGDay Discussion Paused...gres&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1543961713199939586"&gt;Mon Jul 04 14:15:32 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 28 Jun 2022 14:55:23</title><link href="https://vyruss.org/blog/tue-28-jun-2022-145523.html" rel="alternate"></link><published>2022-06-28T14:55:23+00:00</published><updated>2022-06-28T14:55:23+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-28:/blog/tue-28-jun-2022-145523.html</id><summary type="html">&lt;p&gt;RT @ascherbaum: ctid and other #PostgreSQL table internals&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @ascherbaum: ctid and other #PostgreSQL table internals&lt;br&gt;
https://andreas.scherbaum.la/blog/archives/1117-ctid-and-other-PostgreSQL-table-internals.html&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1541797414654418947"&gt;Tue Jun 28 14:55:23 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 27 Jun 2022 21:05:04</title><link href="https://vyruss.org/blog/mon-27-jun-2022-210504.html" rel="alternate"></link><published>2022-06-27T21:05:04+00:00</published><updated>2022-06-27T21:05:04+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-27:/blog/mon-27-jun-2022-210504.html</id><summary type="html">&lt;p&gt;One hour left! Submit your #PostgreSQL talk proposal for this year's most important #Postgres event in Europe. #opensource #database #databases&lt;/p&gt;</summary><content type="html">&lt;p&gt;One hour left! Submit your #PostgreSQL talk proposal for this year's most important #Postgres event in Europe. #opensource #database #databases https://twitter.com/pgconfeu/status/1541526962149232640&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1541528058934579201"&gt;Mon Jun 27 21:05:04 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 27 Jun 2022 12:08:56</title><link href="https://vyruss.org/blog/mon-27-jun-2022-120856.html" rel="alternate"></link><published>2022-06-27T12:08:56+00:00</published><updated>2022-06-27T12:08:56+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-27:/blog/mon-27-jun-2022-120856.html</id><summary type="html">&lt;p&gt;RT @postgre_s: It's really ... Seriously? In a talk?&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @postgre_s: It's really ... Seriously? In a talk?&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1541393139075801094"&gt;Mon Jun 27 12:08:56 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sat 25 Jun 2022 00:20:26</title><link href="https://vyruss.org/blog/sat-25-jun-2022-002026.html" rel="alternate"></link><published>2022-06-25T00:20:26+00:00</published><updated>2022-06-25T00:20:26+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-25:/blog/sat-25-jun-2022-002026.html</id><summary type="html">&lt;p&gt;Thanks to everyone at #PostgresLondon2022, it was really nice of you to come and say hi. Great to meet you all up close, make sure to connect online as well. Finally many thanks to the speakers and organisers for a great #PostgreSQL conference. The future is #Postgres 💙🐘&lt;/p&gt;</summary><content type="html">&lt;p&gt;Thanks to everyone at #PostgresLondon2022, it was really nice of you to come and say hi. Great to meet you all up close, make sure to connect online as well. Finally many thanks to the speakers and organisers for a great #PostgreSQL conference. The future is #Postgres 💙🐘 &lt;img alt="" src="images/1540490063456473088-FWDrjG1XEAIZKpE.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1540490063456473088"&gt;Sat Jun 25 00:20:26 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 24 Jun 2022 11:43:05</title><link href="https://vyruss.org/blog/fri-24-jun-2022-114305.html" rel="alternate"></link><published>2022-06-24T11:43:05+00:00</published><updated>2022-06-24T11:43:05+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-24:/blog/fri-24-jun-2022-114305.html</id><summary type="html">&lt;p&gt;@ascherbaum @EDBPostgres @Postgres_London Slides are here:&lt;/p&gt;</summary><content type="html">&lt;p&gt;@ascherbaum @EDBPostgres @Postgres_London Slides are here: https://vyruss.org/computing/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1540299469698260993"&gt;Fri Jun 24 11:43:05 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 24 Jun 2022 11:18:43</title><link href="https://vyruss.org/blog/fri-24-jun-2022-111843.html" rel="alternate"></link><published>2022-06-24T11:18:43+00:00</published><updated>2022-06-24T11:18:43+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-24:/blog/fri-24-jun-2022-111843.html</id><summary type="html">&lt;p&gt;@ascherbaum @EDBPostgres @Postgres_London Thanks! Spoiler alert you all get thanked in the final slide :)&lt;/p&gt;</summary><content type="html">&lt;p&gt;@ascherbaum @EDBPostgres @Postgres_London Thanks! Spoiler alert you all get thanked in the final slide :)&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1540293335100841985"&gt;Fri Jun 24 11:18:43 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 24 Jun 2022 10:04:34</title><link href="https://vyruss.org/blog/fri-24-jun-2022-100434.html" rel="alternate"></link><published>2022-06-24T10:04:34+00:00</published><updated>2022-06-24T10:04:34+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-24:/blog/fri-24-jun-2022-100434.html</id><summary type="html">&lt;p&gt;@ascherbaum @EDBPostgres @Postgres_London Unfortunately it doesn't look like they're being recorded. Would have been great to see you here though! I'll share the slides right afterwards.&lt;/p&gt;</summary><content type="html">&lt;p&gt;@ascherbaum @EDBPostgres @Postgres_London Unfortunately it doesn't look like they're being recorded. Would have been great to see you here though! I'll share the slides right afterwards.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1540274676169064448"&gt;Fri Jun 24 10:04:34 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 24 Jun 2022 09:58:36</title><link href="https://vyruss.org/blog/fri-24-jun-2022-095836.html" rel="alternate"></link><published>2022-06-24T09:58:36+00:00</published><updated>2022-06-24T09:58:36+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-24:/blog/fri-24-jun-2022-095836.html</id><summary type="html">&lt;p&gt;@fuzzycz talking about BRIN index improvements in #Postgres. Today's big data ❤️ BRIN&lt;/p&gt;</summary><content type="html">&lt;h1&gt;PostgreSQL #PostgresLondon2022&lt;/h1&gt;
&lt;p&gt;@fuzzycz talking about BRIN index improvements in #Postgres. Today's big data ❤️ BRIN  &lt;/p&gt;
&lt;h1&gt;PostgreSQL #PostgresLondon2022 &lt;img alt="" src="images/1540273174159450117-FWAmSfJWIAEckQ-.jpg"&gt;&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1540273174159450117"&gt;Fri Jun 24 09:58:36 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 24 Jun 2022 09:16:58</title><link href="https://vyruss.org/blog/fri-24-jun-2022-091658.html" rel="alternate"></link><published>2022-06-24T09:16:58+00:00</published><updated>2022-06-24T09:16:58+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-24:/blog/fri-24-jun-2022-091658.html</id><summary type="html">&lt;p&gt;Speaking about #Postgres Upgradability shortly at @Postgres_London 2022 (in-person!) #PostgreSQL #PostgresLondon2022&lt;/p&gt;</summary><content type="html">&lt;p&gt;Speaking about #Postgres Upgradability shortly at @Postgres_London 2022 (in-person!) #PostgreSQL #PostgresLondon2022 &lt;img alt="" src="images/1540262695877894145-FWAcwlfWAAAtpcV.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1540262695877894145"&gt;Fri Jun 24 09:16:58 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 22 Jun 2022 09:46:32</title><link href="https://vyruss.org/blog/wed-22-jun-2022-094632.html" rel="alternate"></link><published>2022-06-22T09:46:32+00:00</published><updated>2022-06-22T09:46:32+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-22:/blog/wed-22-jun-2022-094632.html</id><summary type="html">&lt;p&gt;@EDBPostgres Cadeau! 🎁🎉&lt;/p&gt;</summary><content type="html">&lt;p&gt;@EDBPostgres Cadeau! 🎁🎉&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1539545363312529409"&gt;Wed Jun 22 09:46:32 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 21 Jun 2022 20:08:26</title><link href="https://vyruss.org/blog/tue-21-jun-2022-200826.html" rel="alternate"></link><published>2022-06-21T20:08:26+00:00</published><updated>2022-06-21T20:08:26+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-21:/blog/tue-21-jun-2022-200826.html</id><summary type="html">&lt;p&gt;I will be speaking about why you need to upgrade #Postgres (and other relevant upgradability topics), this Friday 24th June at #PostgresLondon 🐘&lt;/p&gt;</summary><content type="html">&lt;p&gt;Yes! At an in-person conference! Register here 👇&lt;/p&gt;
&lt;p&gt;https://www.postgreslondon.org/registrations #postgresql #database #opensource #databases #uk
I will be speaking about why you need to upgrade #Postgres (and other relevant upgradability topics), this Friday 24th June at #PostgresLondon 🐘  &lt;/p&gt;
&lt;p&gt;Yes! At an in-person conference! Register here 👇  &lt;/p&gt;
&lt;p&gt;https://www.postgreslondon.org/registrations #postgresql #database #opensource #databases #uk &lt;img alt="" src="images/1539339483010703360-FVzUFE3XoAMLEkR.jpg"&gt;&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1539339483010703360"&gt;Tue Jun 21 20:08:26 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 21 Jun 2022 15:02:12</title><link href="https://vyruss.org/blog/tue-21-jun-2022-150212.html" rel="alternate"></link><published>2022-06-21T15:02:12+00:00</published><updated>2022-06-21T15:02:12+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-21:/blog/tue-21-jun-2022-150212.html</id><summary type="html">&lt;p&gt;Last week at the #PostgresVision2022 online conference, I organised a live #PostgreSQL #community panel talk, in order to discuss the issue of #Postgres upgradability (#video below 👇)&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last week at the #PostgresVision2022 online conference, I organised a live #PostgreSQL #community panel talk, in order to discuss the issue of #Postgres upgradability (#video below 👇)&lt;br&gt;
https://vyruss.org/blog/postgresql-community-panel-upgradability-postgres-vision-2022.html&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1539262413614333953"&gt;Tue Jun 21 15:02:12 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 21 Jun 2022 13:57:25</title><link href="https://vyruss.org/blog/tue-21-jun-2022-135725.html" rel="alternate"></link><published>2022-06-21T13:57:25+00:00</published><updated>2022-06-21T13:57:25+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-21:/blog/tue-21-jun-2022-135725.html</id><summary type="html">&lt;p&gt;RT @planetpostgres: Jimmy Angelakos (@vyruss): PostgreSQL Community Panel: Upgradability&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @planetpostgres: Jimmy Angelakos (@vyruss): PostgreSQL Community Panel: Upgradability [Postgres Vision 2022] https://postgr.es/p/5mo&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1539246112585949185"&gt;Tue Jun 21 13:57:25 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>PostgreSQL Community Panel: Upgradability [Postgres Vision 2022]</title><link href="https://vyruss.org/blog/postgresql-community-panel-upgradability-postgres-vision-2022.html" rel="alternate"></link><published>2022-06-21T14:25:00+01:00</published><updated>2022-06-21T14:25:00+01:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-21:/blog/postgresql-community-panel-upgradability-postgres-vision-2022.html</id><summary type="html">&lt;p&gt;So I got some lovely people together to discuss PostgreSQL upgradability at Postgres Vision.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Last week at the Postgres Vision online conference, I organised a live PostgreSQL community panel talk, in order to discuss the issue of #PostgreSQL 
upgradability. Many thanks to legendary Postgres figure Bruce Momjian for moderating the conversation, and to the participating panellists:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nikolay Samokhvalov (Founder, Postgres.ai - Database Lab) &lt;/li&gt;
&lt;li&gt;Lætitia Avrot (Field CTO, EDB) &lt;/li&gt;
&lt;li&gt;Andreas Scherbaum (Head of Databases, Adjust GmbH)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Video recording of the panel talk at this year's Postgres Vision 👇&lt;/p&gt;
&lt;iframe width="100%" height="315" src="https://www.youtube.com/embed/kgO_ms0o22E" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="postgresvision"></category><category term="dba"></category></entry><entry><title>Thu 16 Jun 2022 07:39:47</title><link href="https://vyruss.org/blog/thu-16-jun-2022-073947.html" rel="alternate"></link><published>2022-06-16T07:39:47+00:00</published><updated>2022-06-16T07:39:47+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-16:/blog/thu-16-jun-2022-073947.html</id><summary type="html">&lt;p&gt;I can't believe I misspelled #PostgreSQL&lt;/p&gt;</summary><content type="html">&lt;p&gt;I can't believe I misspelled #PostgreSQL&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1537339138436890626"&gt;Thu Jun 16 07:39:47 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 15 Jun 2022 13:20:11</title><link href="https://vyruss.org/blog/wed-15-jun-2022-132011.html" rel="alternate"></link><published>2022-06-15T13:20:11+00:00</published><updated>2022-06-15T13:20:11+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-15:/blog/wed-15-jun-2022-132011.html</id><summary type="html">&lt;p&gt;So I got some lovely #Postgres people together to discuss #PostgresSQL upgradability - don't miss Bruce Momjian, @samokhvalov, @l_avrot and @ascherbaum's Postgres Vision live online panel talk at 11:30 EDT (16:30 GMT)&lt;/p&gt;</summary><content type="html">&lt;p&gt;👇
https://www.postgresvision.com/ #database #PostgresVision2022
So I got some lovely #Postgres people together to discuss #PostgresSQL upgradability - don't miss Bruce Momjian, @samokhvalov, @l_avrot and @ascherbaum's Postgres Vision live online panel talk at 11:30 EDT (16:30 GMT)&lt;br&gt;
👇&lt;br&gt;
https://www.postgresvision.com/ #database #PostgresVision2022&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1537062415564738560"&gt;Wed Jun 15 13:20:11 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 14 Jun 2022 13:04:14</title><link href="https://vyruss.org/blog/tue-14-jun-2022-130414.html" rel="alternate"></link><published>2022-06-14T13:04:14+00:00</published><updated>2022-06-14T13:04:14+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-14:/blog/tue-14-jun-2022-130414.html</id><summary type="html">&lt;p&gt;RT @fuzzycz: Michael Stonebraker / The four things I would most like to see in Postgres&lt;/p&gt;</summary><content type="html">&lt;p&gt;Interested in #PostgreSQL? I highly recommend watc…
RT @fuzzycz: Michael Stonebraker / The four things I would most like to see in Postgres  &lt;/p&gt;
&lt;p&gt;Interested in #PostgreSQL? I highly recommend watc…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1536696011825025025"&gt;Tue Jun 14 13:04:14 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 14 Jun 2022 12:21:49</title><link href="https://vyruss.org/blog/tue-14-jun-2022-122149.html" rel="alternate"></link><published>2022-06-14T12:21:49+00:00</published><updated>2022-06-14T12:21:49+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-06-14:/blog/tue-14-jun-2022-122149.html</id><summary type="html">&lt;p&gt;RT @ascherbaum: I'm invited to a podium discussion at #PostgresVision 2022 about #PostgreSQL Upgradability. Certainly a topic we at @adjust…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @ascherbaum: I'm invited to a podium discussion at #PostgresVision 2022 about #PostgreSQL Upgradability. Certainly a topic we at @adjust…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1536685337463902211"&gt;Tue Jun 14 12:21:49 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 17 May 2022 16:16:38</title><link href="https://vyruss.org/blog/tue-17-may-2022-161638.html" rel="alternate"></link><published>2022-05-17T16:16:38+00:00</published><updated>2022-05-17T16:16:38+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-05-17:/blog/tue-17-may-2022-161638.html</id><summary type="html">&lt;p&gt;RT @DoKcommunity: .@EDBPostgres introducing and demoing @CloudNativePg: their new open-source Kubernetes Operator for Postgres.&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @DoKcommunity: .@EDBPostgres introducing and demoing @CloudNativePg: their new open-source Kubernetes Operator for Postgres. https://t.c…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1526597570675499008"&gt;Tue May 17 16:16:38 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 17 May 2022 15:14:09</title><link href="https://vyruss.org/blog/tue-17-may-2022-151409.html" rel="alternate"></link><published>2022-05-17T15:14:09+00:00</published><updated>2022-05-17T15:14:09+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-05-17:/blog/tue-17-may-2022-151409.html</id><summary type="html">&lt;p&gt;RT @&lt;em&gt;GBartolini&lt;/em&gt;: My talk about Running #Postgres the #Kubernetes way with #CloudNativePG is about to start, with this quote from @Melissa_…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @&lt;em&gt;GBartolini&lt;/em&gt;: My talk about Running #Postgres the #Kubernetes way with #CloudNativePG is about to start, with this quote from @Melissa_…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1526581848578588676"&gt;Tue May 17 15:14:09 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 04 May 2022 14:58:09</title><link href="https://vyruss.org/blog/wed-04-may-2022-145809.html" rel="alternate"></link><published>2022-05-04T14:58:09+00:00</published><updated>2022-05-04T14:58:09+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-05-04:/blog/wed-04-may-2022-145809.html</id><summary type="html">&lt;p&gt;RT @postgresqleu: PostgreSQL Conference Europe 2022 - Call for Sponsors&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @postgresqleu: PostgreSQL Conference Europe 2022 - Call for Sponsors https://www.postgresql.eu/news/postgresql-conference-europe-2022-call-for-sponsors-28/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1521866779122937856"&gt;Wed May 04 14:58:09 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 21 Apr 2022 11:13:20</title><link href="https://vyruss.org/blog/thu-21-apr-2022-111320.html" rel="alternate"></link><published>2022-04-21T11:13:20+00:00</published><updated>2022-04-21T11:13:20+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-04-21:/blog/thu-21-apr-2022-111320.html</id><summary type="html">&lt;p&gt;RT @CitusCon: Come watch this #CitusCon talk 📽️ by @ascherbaum titled "What I learned interviewing the @PostgreSQL Community", chock full o…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @CitusCon: Come watch this #CitusCon talk 📽️ by @ascherbaum titled "What I learned interviewing the @PostgreSQL Community", chock full o…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1517099160511602688"&gt;Thu Apr 21 11:13:20 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 21 Apr 2022 11:02:09</title><link href="https://vyruss.org/blog/thu-21-apr-2022-110209.html" rel="alternate"></link><published>2022-04-21T11:02:09+00:00</published><updated>2022-04-21T11:02:09+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-04-21:/blog/thu-21-apr-2022-110209.html</id><summary type="html">&lt;p&gt;RT @pgconfeu: PostgreSQL Conference Europe: Call for Papers&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @pgconfeu: PostgreSQL Conference Europe: Call for Papers https://www.postgresql.eu/events/pgconfeu2022/news/postgresql-conference-europe-call-for-papers-56/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1517096343872880641"&gt;Thu Apr 21 11:02:09 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 08 Apr 2022 12:32:14</title><link href="https://vyruss.org/blog/fri-08-apr-2022-123214.html" rel="alternate"></link><published>2022-04-08T12:32:14+00:00</published><updated>2022-04-08T12:32:14+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-04-08:/blog/fri-08-apr-2022-123214.html</id><summary type="html">&lt;p&gt;RT @Postgres_London: Make sure you keep following us on @Postgres_London&lt;/p&gt;</summary><content type="html">&lt;p&gt;to stay updated on all the upcoming #PostgresLondon2022 news!🐘&lt;/p&gt;
&lt;h1&gt;…&lt;/h1&gt;
&lt;p&gt;RT @Postgres_London: Make sure you keep following us on @Postgres_London&lt;br&gt;
 to stay updated on all the upcoming #PostgresLondon2022 news!🐘  &lt;/p&gt;
&lt;h1&gt;…&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1512407974337200139"&gt;Fri Apr 08 12:32:14 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 04 Apr 2022 11:50:50</title><link href="https://vyruss.org/blog/mon-04-apr-2022-115050.html" rel="alternate"></link><published>2022-04-04T11:50:50+00:00</published><updated>2022-04-04T11:50:50+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-04-04:/blog/mon-04-apr-2022-115050.html</id><summary type="html">&lt;p&gt;Hey @edinhacklab what's your current status? I would be interested in running some PostgreSQL related activities there, like talks or workshops, open to the public.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hey @edinhacklab what's your current status? I would be interested in running some PostgreSQL related activities there, like talks or workshops, open to the public.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1510948002277515271"&gt;Mon Apr 04 11:50:50 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 04 Apr 2022 08:54:21</title><link href="https://vyruss.org/blog/mon-04-apr-2022-085421.html" rel="alternate"></link><published>2022-04-04T08:54:21+00:00</published><updated>2022-04-04T08:54:21+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-04-04:/blog/mon-04-apr-2022-085421.html</id><summary type="html">&lt;p&gt;RT @Postgres_London: Call for papers for #PostgresLondon 2022 is now open! 🚨&lt;/p&gt;</summary><content type="html">&lt;p&gt;Don't forget to share your #PostgreSQL talk here:⏳
https://t.…
RT @Postgres_London: Call for papers for #PostgresLondon 2022 is now open! 🚨  &lt;/p&gt;
&lt;p&gt;Don't forget to share your #PostgreSQL talk here:⏳&lt;br&gt;
https://t.…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1510903589295857665"&gt;Mon Apr 04 08:54:21 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 29 Mar 2022 14:54:45</title><link href="https://vyruss.org/blog/tue-29-mar-2022-145445.html" rel="alternate"></link><published>2022-03-29T14:54:45+00:00</published><updated>2022-03-29T14:54:45+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-29:/blog/tue-29-mar-2022-145445.html</id><summary type="html">&lt;p&gt;RT @Xof: Do not set statement_timeout in #PostgreSQL's main configuration file.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Do not do this.&lt;/p&gt;
&lt;p&gt;Set it on a per-user basis.&lt;/p&gt;
&lt;p&gt;Always.
RT @Xof: Do not set statement_timeout in #PostgreSQL's main configuration file.  &lt;/p&gt;
&lt;p&gt;Do not do this.  &lt;/p&gt;
&lt;p&gt;Set it on a per-user basis.  &lt;/p&gt;
&lt;p&gt;Always.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1508819958494605327"&gt;Tue Mar 29 14:54:45 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 24 Mar 2022 12:18:31</title><link href="https://vyruss.org/blog/thu-24-mar-2022-121831.html" rel="alternate"></link><published>2022-03-24T12:18:31+00:00</published><updated>2022-03-24T12:18:31+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-24:/blog/thu-24-mar-2022-121831.html</id><summary type="html">&lt;p&gt;RT @fosdempgday: Watch this #PostgreSQL @ #FOSDEM talk again:&lt;/p&gt;</summary><content type="html">&lt;p&gt;Slow things down to make them go faster&lt;/p&gt;
&lt;p&gt;By @vyruss&lt;/p&gt;
&lt;p&gt;https://fosdem.org/2022/schedule/event/postgresql_slow_things_down_to_make_them_go_faster/
RT @fosdempgday: Watch this #PostgreSQL @ #FOSDEM talk again:  &lt;/p&gt;
&lt;p&gt;Slow things down to make them go faster  &lt;/p&gt;
&lt;p&gt;By @vyruss  &lt;/p&gt;
&lt;p&gt;https://fosdem.org/2022/schedule/event/postgresql_slow_things_down_to_make_them_go_faster/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1506968703090540546"&gt;Thu Mar 24 12:18:31 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sun 13 Mar 2022 20:40:22</title><link href="https://vyruss.org/blog/sun-13-mar-2022-204022.html" rel="alternate"></link><published>2022-03-13T20:40:22+00:00</published><updated>2022-03-13T20:40:22+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-13:/blog/sun-13-mar-2022-204022.html</id><summary type="html">&lt;p&gt;@mbalmer @sjstoelting @PostgresWomen @pgconfeu The point here is about underrepresented groups, not about which group produces superior content&lt;/p&gt;</summary><content type="html">&lt;p&gt;@mbalmer @sjstoelting @PostgresWomen @pgconfeu The point here is about underrepresented groups, not about which group produces superior content&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1503108730778529796"&gt;Sun Mar 13 20:40:22 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sun 13 Mar 2022 19:33:36</title><link href="https://vyruss.org/blog/sun-13-mar-2022-193336.html" rel="alternate"></link><published>2022-03-13T19:33:36+00:00</published><updated>2022-03-13T19:33:36+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-13:/blog/sun-13-mar-2022-193336.html</id><summary type="html">&lt;p&gt;RT @sjstoelting: For the European #PostgreSQL conference 2022 in Berlin&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @sjstoelting: For the European #PostgreSQL conference 2022 in Berlin https://2022.pgconf.eu/ we definitely need more female speakers.&lt;br&gt;
(C…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1503091927633305604"&gt;Sun Mar 13 19:33:36 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 21:53:02</title><link href="https://vyruss.org/blog/tue-01-mar-2022-215302.html" rel="alternate"></link><published>2022-03-01T21:53:02+00:00</published><updated>2022-03-01T21:53:02+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-215302.html</id><summary type="html">&lt;p&gt;RT @craigkerstiens: My tweet on what could be improved in Postgres got way more response than I anticipated. While I agree with a ton of it…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @craigkerstiens: My tweet on what could be improved in Postgres got way more response than I anticipated. While I agree with a ton of it…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498778364559122441"&gt;Tue Mar 01 21:53:02 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 21:40:45</title><link href="https://vyruss.org/blog/tue-01-mar-2022-214045.html" rel="alternate"></link><published>2022-03-01T21:40:45+00:00</published><updated>2022-03-01T21:40:45+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-214045.html</id><summary type="html">&lt;p&gt;RT @ascherbaum: PostgreSQL Person of the Week interview with: Gianni Ciolli&lt;/p&gt;</summary><content type="html">&lt;h1&gt;PostgreSQL #PostgresFriends&lt;/h1&gt;
&lt;p&gt;https://postgresql.life/post/gianni_ciolli/
RT @ascherbaum: PostgreSQL Person of the Week interview with: Gianni Ciolli  &lt;/p&gt;
&lt;h1&gt;PostgreSQL #PostgresFriends&lt;/h1&gt;
&lt;p&gt;https://postgresql.life/post/gianni_ciolli/&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498775273692618755"&gt;Tue Mar 01 21:40:45 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 13:56:19</title><link href="https://vyruss.org/blog/tue-01-mar-2022-135619.html" rel="alternate"></link><published>2022-03-01T13:56:19+00:00</published><updated>2022-03-01T13:56:19+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-135619.html</id><summary type="html">&lt;p&gt;@ascherbaum @fuzzychef @craigkerstiens Regardless of PostgreSQL limitations, if one has a DB with 250K tables something has gone very wrong in their data modelling.&lt;/p&gt;</summary><content type="html">&lt;p&gt;@ascherbaum @fuzzychef @craigkerstiens Regardless of PostgreSQL limitations, if one has a DB with 250K tables something has gone very wrong in their data modelling.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498658393627709440"&gt;Tue Mar 01 13:56:19 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 13:53:41</title><link href="https://vyruss.org/blog/tue-01-mar-2022-135341.html" rel="alternate"></link><published>2022-03-01T13:53:41+00:00</published><updated>2022-03-01T13:53:41+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-135341.html</id><summary type="html">&lt;p&gt;🇷🇺 Russian friends from the #PostgreSQL and #OpenSource community who are opposed to the war: we know it is very difficult to express opposition to the regime in Russia. What can we do to support you?&lt;/p&gt;</summary><content type="html">&lt;p&gt;🇷🇺 Russian friends from the #PostgreSQL and #OpenSource community who are opposed to the war: we know it is very difficult to express opposition to the regime in Russia. What can we do to support you?&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498657729728196618"&gt;Tue Mar 01 13:53:41 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 11:18:29</title><link href="https://vyruss.org/blog/tue-01-mar-2022-111829.html" rel="alternate"></link><published>2022-03-01T11:18:29+00:00</published><updated>2022-03-01T11:18:29+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-111829.html</id><summary type="html">&lt;p&gt;RT @planetpostgres: Hubert 'depesz' Lubaczewski: How to index data with tsearch?&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @planetpostgres: Hubert 'depesz' Lubaczewski: How to index data with tsearch? https://postgr.es/p/5h5&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498618672276987904"&gt;Tue Mar 01 11:18:29 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 10:59:31</title><link href="https://vyruss.org/blog/tue-01-mar-2022-105931.html" rel="alternate"></link><published>2022-03-01T10:59:31+00:00</published><updated>2022-03-01T10:59:31+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-105931.html</id><summary type="html">&lt;p&gt;RT @erichanson: @craigkerstiens The extensions system!!  It is such a huge bottleneck to using Postgres as a development platform with any…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @erichanson: @craigkerstiens The extensions system!!  It is such a huge bottleneck to using Postgres as a development platform with any…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498613899393998850"&gt;Tue Mar 01 10:59:31 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 01 Mar 2022 10:59:29</title><link href="https://vyruss.org/blog/tue-01-mar-2022-105929.html" rel="alternate"></link><published>2022-03-01T10:59:29+00:00</published><updated>2022-03-01T10:59:29+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-03-01:/blog/tue-01-mar-2022-105929.html</id><summary type="html">&lt;p&gt;RT @craigkerstiens: Collecting some input on ways Postgres could be improved... what do you hate about it?&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @craigkerstiens: Collecting some input on ways Postgres could be improved... what do you hate about it?&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1498613892670443522"&gt;Tue Mar 01 10:59:29 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 25 Feb 2022 14:39:29</title><link href="https://vyruss.org/blog/fri-25-feb-2022-143929.html" rel="alternate"></link><published>2022-02-25T14:39:29+00:00</published><updated>2022-02-25T14:39:29+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-02-25:/blog/fri-25-feb-2022-143929.html</id><summary type="html">&lt;p&gt;RT @BonesMoses: I &lt;em&gt;really&lt;/em&gt; want Postgres to become cluster aware. Let's talk about it.&lt;/p&gt;</summary><content type="html">&lt;p&gt;https://www.enterprisedb.com/blog/replication-revue
RT @BonesMoses: I &lt;em&gt;really&lt;/em&gt; want Postgres to become cluster aware. Let's talk about it.  &lt;/p&gt;
&lt;p&gt;https://www.enterprisedb.com/blog/replication-revue&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1497219704087216133"&gt;Fri Feb 25 14:39:29 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 23 Feb 2022 12:24:01</title><link href="https://vyruss.org/blog/wed-23-feb-2022-122401.html" rel="alternate"></link><published>2022-02-23T12:24:01+00:00</published><updated>2022-02-23T12:24:01+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-02-23:/blog/wed-23-feb-2022-122401.html</id><summary type="html">&lt;p&gt;"PostgreSQL 9.6 is supported" = we haven't bothered to test in 6 years even though Postgres is backwards compatible.&lt;/p&gt;</summary><content type="html">&lt;p&gt;"PostgreSQL 9.6 is supported" = we haven't bothered to test in 6 years even though Postgres is backwards compatible.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1496460840136069124"&gt;Wed Feb 23 12:24:01 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Slow things down to make them go faster [FOSDEM 2022]</title><link href="https://vyruss.org/blog/slow-things-down-to-make-them-go-faster-fosdem-2022.html" rel="alternate"></link><published>2022-02-07T14:15:00+00:00</published><updated>2022-02-07T14:15:00+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-02-07:/blog/slow-things-down-to-make-them-go-faster-fosdem-2022.html</id><summary type="html">&lt;p&gt;PostgreSQL is very particular about how it likes to deal with high concurrency, so let's look at potential pitfalls when you throw a lot of work at your database.&lt;/p&gt;</summary><content type="html">&lt;p&gt;It's easy to get misled into overconfidence based on the performance of powerful servers, given today's monster core counts and RAM sizes.&lt;br&gt;
However, the reality of high concurrency usage is often disappointing, with less throughput than one would expect.&lt;br&gt;
Because of its internals and its multi-process architecture, PostgreSQL is very particular about how it likes to deal with high concurrency and in some cases it can slow down to the point where it looks like it's not performing as it should.&lt;br&gt;
In this talk we'll take a look at potential pitfalls when you throw a lot of work at your database. Specifically, very high concurrency and resource contention can cause problems with lock waits in Postgres. Very high transaction rates can also cause problems of a different nature.&lt;br&gt;
Finally, we will be looking at ways to mitigate these by examining our queries and connection parameters, leveraging connection pooling and replication, or adapting the workload.&lt;/p&gt;
&lt;p&gt;Video from my talk at this year's FOSDEM PostgreSQL Devroom 👇&lt;/p&gt;
&lt;iframe width="100%" height="315" src="https://www.youtube.com/embed/YvUTsl0isyc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;You can find the slides from the talk &lt;a href="https://www.slideshare.net/vyruss000/slow-things-down-to-make-them-go-faster-fosdem-2022"&gt;here&lt;/a&gt;.&lt;/p&gt;</content><category term="talks"></category><category term="postgresql"></category><category term="postgresbuild"></category><category term="dba"></category></entry><entry><title>Mon 07 Feb 2022 14:06:47</title><link href="https://vyruss.org/blog/mon-07-feb-2022-140647.html" rel="alternate"></link><published>2022-02-07T14:06:47+00:00</published><updated>2022-02-07T14:06:47+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-02-07:/blog/mon-07-feb-2022-140647.html</id><summary type="html">&lt;p&gt;Are you are throwing too much workload at your #Postgres #database? #Video from my talk at #FOSDEM's #PostgreSQL 🐘 #Devroom&lt;/p&gt;</summary><content type="html">&lt;p&gt;👇
https://www.youtube.com/watch?v=YvUTsl0isyc #opensource
Are you are throwing too much workload at your #Postgres #database? #Video from my talk at #FOSDEM's #PostgreSQL 🐘 #Devroom &lt;br&gt;
👇&lt;br&gt;
https://www.youtube.com/watch?v=YvUTsl0isyc #opensource&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1490688494662004737"&gt;Mon Feb 07 14:06:47 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sun 06 Feb 2022 13:53:49</title><link href="https://vyruss.org/blog/sun-06-feb-2022-135349.html" rel="alternate"></link><published>2022-02-06T13:53:49+00:00</published><updated>2022-02-06T13:53:49+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-02-06:/blog/sun-06-feb-2022-135349.html</id><summary type="html">&lt;p&gt;Come to "Slow things down to make them go faster" and see if you are throwing too much workload at your #Postgres #database. I'm speaking in 1 hour at #FOSDEM's #PostgreSQL 🐘 #Devroom 👇&lt;/p&gt;</summary><content type="html">&lt;p&gt;https://fosdem.org/2022/schedule/event/postgresql_slow_things_down_to_make_them_go_faster/&lt;/p&gt;
&lt;p&gt;🕓 16:00 CET (15:00 GMT)
Come to "Slow things down to make them go faster" and see if you are throwing too much workload at your #Postgres #database. I'm speaking in 1 hour at #FOSDEM's #PostgreSQL 🐘 #Devroom 👇  &lt;/p&gt;
&lt;p&gt;https://fosdem.org/2022/schedule/event/postgresql_slow_things_down_to_make_them_go_faster/  &lt;/p&gt;
&lt;p&gt;🕓 16:00 CET (15:00 GMT)&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1490322843296575489"&gt;Sun Feb 06 13:53:49 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sat 05 Feb 2022 13:29:12</title><link href="https://vyruss.org/blog/sat-05-feb-2022-132912.html" rel="alternate"></link><published>2022-02-05T13:29:12+00:00</published><updated>2022-02-05T13:29:12+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-02-05:/blog/sat-05-feb-2022-132912.html</id><summary type="html">&lt;p&gt;Are you throwing too much workload at your #Postgres #database? I'm speaking about that &lt;em&gt;tomorrow&lt;/em&gt; at #FOSDEM's #PostgreSQL #Devroom —&lt;/p&gt;</summary><content type="html">&lt;p&gt;Are you throwing too much workload at your #Postgres #database? I'm speaking about that &lt;em&gt;tomorrow&lt;/em&gt; at #FOSDEM's #PostgreSQL #Devroom — https://fosdem.org/2022/schedule/event/postgresql_slow_things_down_to_make_them_go_faster/  &lt;/p&gt;
&lt;p&gt;📆 February 6th 16:00 CET (15:00 GMT)   &lt;/p&gt;
&lt;h1&gt;OpenSource&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1489954259831562243"&gt;Sat Feb 05 13:29:12 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sat 22 Jan 2022 20:18:36</title><link href="https://vyruss.org/blog/sat-22-jan-2022-201836.html" rel="alternate"></link><published>2022-01-22T20:18:36+00:00</published><updated>2022-01-22T20:18:36+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-01-22:/blog/sat-22-jan-2022-201836.html</id><summary type="html">&lt;h1&gt;Postgres approved beers 👍#PostgresFriends #Edinburgh&lt;/h1&gt;</summary><content type="html">&lt;h1&gt;Postgres approved beers 👍#PostgresFriends #Edinburgh &lt;img alt="" src="images/1484983861276721152-FJu486GXEAsELxQ.jpg"&gt;&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1484983861276721152"&gt;Sat Jan 22 20:18:36 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 17 Jan 2022 14:21:19</title><link href="https://vyruss.org/blog/mon-17-jan-2022-142119.html" rel="alternate"></link><published>2022-01-17T14:21:19+00:00</published><updated>2022-01-17T14:21:19+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2022-01-17:/blog/mon-17-jan-2022-142119.html</id><summary type="html">&lt;p&gt;RT @fosdempgday: The #PostgreSQL  @ #FOSDEM Devroom is now listed as an event on the&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @fosdempgday: The #PostgreSQL  @ #FOSDEM Devroom is now listed as an event on the https://www.postgresql.org/ website.&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1483082007093653505"&gt;Mon Jan 17 14:21:19 +0000 2022&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Wed 22 Dec 2021 12:30:28</title><link href="https://vyruss.org/blog/wed-22-dec-2021-123028.html" rel="alternate"></link><published>2021-12-22T12:30:28+00:00</published><updated>2021-12-22T12:30:28+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-12-22:/blog/wed-22-dec-2021-123028.html</id><summary type="html">&lt;p&gt;Video from my talk "Slow things down to make them go faster" at this year's #postgresbuild  🐘  👇&lt;/p&gt;</summary><content type="html">&lt;p&gt;https://youtu.be/bex_bFQZe5U #postgres #postgresql #database #postgresbuild2021
Video from my talk "Slow things down to make them go faster" at this year's #postgresbuild  🐘  👇  &lt;/p&gt;
&lt;p&gt;https://youtu.be/bex_bFQZe5U #postgres #postgresql #database #postgresbuild2021&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1473632028167970818"&gt;Wed Dec 22 12:30:28 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 20 Dec 2021 15:31:45</title><link href="https://vyruss.org/blog/mon-20-dec-2021-153145.html" rel="alternate"></link><published>2021-12-20T15:31:45+00:00</published><updated>2021-12-20T15:31:45+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-12-20:/blog/mon-20-dec-2021-153145.html</id><summary type="html">&lt;p&gt;RT @fosdempgday: Call for Papers for #PostgreSQL @ #FOSDEM Devroom is open until Dec 26th.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Instructions for talk submissions are here: htt…
RT @fosdempgday: Call for Papers for #PostgreSQL @ #FOSDEM Devroom is open until Dec 26th.  &lt;/p&gt;
&lt;p&gt;Instructions for talk submissions are here: htt…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1472952873961074688"&gt;Mon Dec 20 15:31:45 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Fri 03 Dec 2021 16:36:19</title><link href="https://vyruss.org/blog/fri-03-dec-2021-163619.html" rel="alternate"></link><published>2021-12-03T16:36:19+00:00</published><updated>2021-12-03T16:36:19+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-12-03:/blog/fri-03-dec-2021-163619.html</id><summary type="html">&lt;p&gt;RT @planetpostgres: Jimmy Angelakos (@vyruss): Slow things down to make them go faster&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @planetpostgres: Jimmy Angelakos (@vyruss): Slow things down to make them go faster [Postgres Build 2021] https://postgr.es/p/5dk&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1466808528396505097"&gt;Fri Dec 03 16:36:19 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 30 Nov 2021 12:13:21</title><link href="https://vyruss.org/blog/tue-30-nov-2021-121321.html" rel="alternate"></link><published>2021-11-30T12:13:21+00:00</published><updated>2021-11-30T12:13:21+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-30:/blog/tue-30-nov-2021-121321.html</id><summary type="html">&lt;p&gt;RT @tchorix: Folks! This Wednesday, at #PostgresBuild2021,  I will be talking about consistency and conflicts in #postgresql replication. I…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @tchorix: Folks! This Wednesday, at #PostgresBuild2021,  I will be talking about consistency and conflicts in #postgresql replication. I…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1465655184697307138"&gt;Tue Nov 30 12:13:21 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 30 Nov 2021 11:19:19</title><link href="https://vyruss.org/blog/tue-30-nov-2021-111919.html" rel="alternate"></link><published>2021-11-30T11:19:19+00:00</published><updated>2021-11-30T11:19:19+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-30:/blog/tue-30-nov-2021-111919.html</id><summary type="html">&lt;p&gt;RT @sjstoelting: @vyruss Thanks for your talk at #PostgresBuild2001, hope it will bring people to think about how they are doing #PostgreSQ…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @sjstoelting: @vyruss Thanks for your talk at #PostgresBuild2001, hope it will bring people to think about how they are doing #PostgreSQ…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1465641586684014597"&gt;Tue Nov 30 11:19:19 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Tue 30 Nov 2021 11:19:05</title><link href="https://vyruss.org/blog/tue-30-nov-2021-111905.html" rel="alternate"></link><published>2021-11-30T11:19:05+00:00</published><updated>2021-11-30T11:19:05+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-30:/blog/tue-30-nov-2021-111905.html</id><summary type="html">&lt;p&gt;RT @EDBPostgres: #PostgresBuild2021 is live! Will you be joining us?&lt;/p&gt;</summary><content type="html">&lt;p&gt;Don’t miss 25+ talks from experts all over the world about #PostgreS…
RT @EDBPostgres: #PostgresBuild2021 is live! Will you be joining us?   &lt;/p&gt;
&lt;p&gt;Don’t miss 25+ talks from experts all over the world about #PostgreS…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1465641527691161605"&gt;Tue Nov 30 11:19:05 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Mon 29 Nov 2021 11:59:37</title><link href="https://vyruss.org/blog/mon-29-nov-2021-115937.html" rel="alternate"></link><published>2021-11-29T11:59:37+00:00</published><updated>2021-11-29T11:59:37+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-29:/blog/mon-29-nov-2021-115937.html</id><summary type="html">&lt;p&gt;Are you throwing too much workload at your #Postgres #database? I'm speaking about that &lt;em&gt;tomorrow&lt;/em&gt; at #PostgresBuild2021 —&lt;/p&gt;</summary><content type="html">&lt;p&gt;Are you throwing too much workload at your #Postgres #database? I'm speaking about that &lt;em&gt;tomorrow&lt;/em&gt; at #PostgresBuild2021 — https://postgresbuild.com  &lt;/p&gt;
&lt;p&gt;📆 November 30th 10:15 GMT (11:15 CET)  &lt;/p&gt;
&lt;h1&gt;PostgresBuild #OpenSource &lt;img alt="" src="images/1465289340708433924-FFW-1JIX0AYXDdY.jpg"&gt;&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1465289340708433924"&gt;Mon Nov 29 11:59:37 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 25 Nov 2021 18:15:08</title><link href="https://vyruss.org/blog/thu-25-nov-2021-181508.html" rel="alternate"></link><published>2021-11-25T18:15:08+00:00</published><updated>2021-11-25T18:15:08+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-25:/blog/thu-25-nov-2021-181508.html</id><summary type="html">&lt;p&gt;RT @vyruss: You know that thing when you throw too much work at your #database and it bogs down? I'm speaking about that at #PostgresBuild2…&lt;/p&gt;</summary><content type="html">&lt;p&gt;RT @vyruss: You know that thing when you throw too much work at your #database and it bogs down? I'm speaking about that at #PostgresBuild2…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1463934290639691788"&gt;Thu Nov 25 18:15:08 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Thu 18 Nov 2021 16:51:26</title><link href="https://vyruss.org/blog/thu-18-nov-2021-165126.html" rel="alternate"></link><published>2021-11-18T16:51:26+00:00</published><updated>2021-11-18T16:51:26+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-18:/blog/thu-18-nov-2021-165126.html</id><summary type="html">&lt;p&gt;RT @johnnyq72: 📢 Attend #PostgresBuild2021&lt;/p&gt;</summary><content type="html">&lt;p&gt;Register for free
RT @johnnyq72: 📢 Attend #PostgresBuild2021&lt;br&gt;
Register for free https://okt.to/yPmz6s  &lt;/p&gt;
&lt;p&gt;*First 50 to register between 17 Nov - 21 Nov stand a…&lt;/p&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1461376513463529478"&gt;Thu Nov 18 16:51:26 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry><entry><title>Sat 06 Nov 2021 09:36:57</title><link href="https://vyruss.org/blog/sat-06-nov-2021-093657.html" rel="alternate"></link><published>2021-11-06T09:36:57+00:00</published><updated>2021-11-06T09:36:57+00:00</updated><author><name>Jimmy Angelakos</name></author><id>tag:vyruss.org,2021-11-06:/blog/sat-06-nov-2021-093657.html</id><summary type="html">&lt;p&gt;You know that thing when you throw too much work at your #database and it bogs down? I'm speaking about that at #PostgresBuild2021: free virtual conference for #PostgreSQL users in Europe —&lt;/p&gt;</summary><content type="html">&lt;p&gt;You know that thing when you throw too much work at your #database and it bogs down? I'm speaking about that at #PostgresBuild2021: free virtual conference for #PostgreSQL users in Europe — https://www.postgresbuild.com/  &lt;/p&gt;
&lt;p&gt;📅 Nov 30 - Dec 1, 2021  &lt;/p&gt;
&lt;h1&gt;Postgres #PostgresBuild #OpenSource &lt;img alt="" src="images/1456918516590944256-FDgCBl5WUAQtSdN.jpg"&gt;&lt;/h1&gt;
&lt;p&gt;(Originally on Twitter: &lt;a href="https://twitter.com/vyruss/status/1456918516590944256"&gt;Sat Nov 06 09:36:57 +0000 2021&lt;/a&gt;)&lt;/p&gt;</content><category term="tweets"></category><category term="postgresql"></category></entry></feed>