<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Zsolt Parragi — Percona Community</title><link>https://percona.community/tags/pg_zsolt/</link><description>PostgreSQL articles and insights by Zsolt Parragi on the Percona Community blog</description><generator>Hugo 0.147.5</generator><language>en</language><lastBuildDate>Mon, 20 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://percona.community/tags/pg_zsolt/index.xml" rel="self" type="application/rss+xml"/><item><title>TDE performance in PostgreSQL</title><link>https://percona.community/blog/2026/07/20/tde-performance-in-postgresql/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2026/07/20/tde-performance-in-postgresql/</guid><description>&lt;p>What&amp;rsquo;s the impact of TDE on performance?
People usually quickly throw together a few graphs with basic measurements and treat that as a complete answer, but the question is a bit more complex than that.
In this blog post, I&amp;rsquo;ll try to explain it in a bit more detail: why showcasing a single graph isn&amp;rsquo;t good for anything other than marketing.&lt;/p>
&lt;p>
&lt;figure>&lt;img width="1672" height="941" sizes="(max-width: 1400px) 100vw, 1400px" srcset="https://percona.community/blog/2026/07/pg_tde_superfast_hu_724b2cb64baf2a37.webp 768w, https://percona.community/blog/2026/07/pg_tde_superfast_hu_558fc7ca98fef308.webp 480w, https://percona.community/blog/2026/07/pg_tde_superfast_hu_c87d7fd4b0b5c46a.webp 1400w" src="https://percona.community/blog/2026/07/pg_tde_superfast_hu_c87d7fd4b0b5c46a.webp" alt="It’s SUPER FAST!" loading="lazy" />&lt;/figure>&lt;/p></description></item><item><title>pg_tde: our fork is temporary, our commitment to open TDE is not</title><link>https://percona.community/blog/2026/07/08/pg_tde-our-fork-is-temporary-our-commitment-to-open-tde-is-not/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2026/07/08/pg_tde-our-fork-is-temporary-our-commitment-to-open-tde-is-not/</guid><description>&lt;p>Recently we noticed a LinkedIn post promoting &lt;a href="https://github.com/commandprompt/open_pg_tde" target="_blank" rel="noopener noreferrer">open_pg_tde&lt;/a>, a fork of our &lt;a href="https://github.com/percona/pg_tde" target="_blank" rel="noopener noreferrer">pg_tde&lt;/a>, claiming to be more open.
I looked at the repository, and have to disagree with their claim.
In this blog post, I&amp;rsquo;ll explain why.&lt;/p>
&lt;p>The short version: open_pg_tde needs the exact same modified PostgreSQL that pg_tde does &amp;ndash; TDE isn&amp;rsquo;t possible without those upstream changes.
The only difference is delivery: they ship those changes as a patch file users have to apply by hand, while we provide a ready-made branch.&lt;/p></description></item><item><title>OIDC error scenarios</title><link>https://percona.community/blog/2026/04/30/oidc-error-scenarios/</link><pubDate>Thu, 30 Apr 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2026/04/30/oidc-error-scenarios/</guid><description>&lt;p>Last time, in &lt;a href="https://percona.community/blog/2026/01/19/oidc-in-postgresql-with-keycloak/">OIDC in PostgreSQL: With Keycloak&lt;/a>, we created a working demo setup that was able to successfully authenticate a user using OIDC.&lt;/p>
&lt;p>In this blog post, we follow the same example, but instead of the success story, we explore how OAuth keeps our PostgreSQL servers secure.&lt;/p>
&lt;p>We won&amp;rsquo;t focus on complex attack vectors, like the examples in the &lt;a href="https://percona.community/blog/2025/11/17/oidc-in-postgresql-how-it-works-and-staying-secure/">second blog post&lt;/a> in the OIDC series.
Instead of social engineering, we&amp;rsquo;ll look at practical errors, misconfigurations and honest mistakes - understanding error messages and how to fix them.&lt;/p></description></item><item><title>OIDC in PostgreSQL: With Keycloak</title><link>https://percona.community/blog/2026/01/19/oidc-in-postgresql-with-keycloak/</link><pubDate>Mon, 19 Jan 2026 00:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2026/01/19/oidc-in-postgresql-with-keycloak/</guid><description>&lt;p>We spent a long time, &lt;a href="https://percona.community/blog/2025/11/07/oauth-oidc-validators/">two&lt;/a> blog &lt;a href="https://percona.community/blog/2025/11/17/oidc-in-postgresql-how-it-works-and-staying-secure/">posts&lt;/a> to be specific, talking about OAuth/OIDC in theory.
Now we&amp;rsquo;ll take a more practical look at the topic:
how can we configure PostgreSQL with a popular open source identity provider, &lt;a href="https://www.keycloak.org/" target="_blank" rel="noopener noreferrer">Keycloak&lt;/a>, and our &lt;a href="https://github.com/percona/pg_oidc_validator" target="_blank" rel="noopener noreferrer">pg_oidc_validator&lt;/a> plugin?&lt;/p>
&lt;p>We&amp;rsquo;ll not only look at the PostgreSQL configuration part, but also discuss the environment requirements and setting up Keycloak.&lt;/p>
&lt;h3 id="docker-containers">Docker containers&lt;/h3>
&lt;p>If you are only interested in trying out a working demo installation, we have a ready-to-use Docker Compose configuration available &lt;a href="https://github.com/Percona-Lab/pg_oidc_validator/tree/main/examples/keycloak" target="_blank" rel="noopener noreferrer">in our GitHub repo&lt;/a>.
This setup includes a Keycloak instance, a PostgreSQL server, and a utility container that runs &lt;code>psql&lt;/code>, all running in different containers, simulating different machines.&lt;/p></description></item><item><title>OIDC in PostgreSQL: How It Works and Staying Secure</title><link>https://percona.community/blog/2025/11/17/oidc-in-postgresql-how-it-works-and-staying-secure/</link><pubDate>Mon, 17 Nov 2025 09:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2025/11/17/oidc-in-postgresql-how-it-works-and-staying-secure/</guid><description>&lt;p>In the previous blog post about the topic, &lt;a href="https://percona.community/blog/2025/11/07/oauth-oidc-validators/">OAuth, OIDC and validators&lt;/a>, we discussed basic terminologies to understand the differences between the protocols and how they relate to PostgreSQL.&lt;/p>
&lt;p>In this second part, we&amp;rsquo;ll go one step further and see how OIDC works exactly in other software and in PostgreSQL, and what OAuthBearer is about. We also focus on the possible attacks and dangers in this flow with some examples to showcase why it&amp;rsquo;s important to use a properly configured secure provider and to teach our users not to just skim through the authorization process.&lt;/p></description></item><item><title>OAuth, OIDC, validators, what is all this about?</title><link>https://percona.community/blog/2025/11/07/oauth-oidc-validators/</link><pubDate>Fri, 07 Nov 2025 10:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2025/11/07/oauth-oidc-validators/</guid><description>&lt;p>Somebody might tell you, &amp;ldquo;let&amp;rsquo;s configure PostgreSQL 18 with OIDC, it should be simple, only takes a few minutes!&amp;rdquo;
And that might be the case if you already have an OIDC provider set up and know all the details about the protocols, configurations, and possible issues.
Or it might take much longer if you just open your favorite search engine and type &amp;ldquo;What is this OIDC stuff about?&amp;rdquo;&lt;/p>
&lt;p>In this series of blog posts, I&amp;rsquo;ll try to help with this task.
First, by clearing up all the terminology and details in this article.
Later, I&amp;rsquo;ll provide vendor-specific setup instructions for some of the popular providers, using our fully open source &lt;code>pg_oidc_validator&lt;/code> plugin.&lt;/p></description></item><item><title>Percona pg_tde: A Security Review Reveals Robust Encryption</title><link>https://percona.community/blog/2025/07/24/percona-pg_tde-a-security-review-reveals-robust-encryption/</link><pubDate>Thu, 24 Jul 2025 00:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2025/07/24/percona-pg_tde-a-security-review-reveals-robust-encryption/</guid><description>&lt;p>
&lt;figure>&lt;img width="320" height="320" sizes="(max-width: 320px) 100vw, 320px" srcset="https://percona.community/blog/2025/07/pg-tde-security-audit-small_hu_bf5b6d6a1f201098.webp 320w" src="https://percona.community/blog/2025/07/pg-tde-security-audit-small_hu_bf5b6d6a1f201098.webp" alt="Percona pg_tde: A Security Review Reveals Robust Encryption" loading="lazy" />&lt;/figure>&lt;/p>
&lt;p>At Percona, we are committed to providing robust and secure database solutions. We recently engaged &lt;a href="https://longterm.io/" target="_blank" rel="noopener noreferrer">Longterm Security&lt;/a> for an in-depth review of our Transparent Data Encryption (TDE) feature for PostgreSQL, known as &lt;strong>pg_tde&lt;/strong>. This comprehensive assessment included a cryptographic design evaluation, an application security review for coding errors, and extensive fuzz testing. We&amp;rsquo;re excited to share the key takeaways from this engagement, highlighting both pg_tde&amp;rsquo;s strengths and areas for continued improvement.&lt;/p></description></item><item><title>Creating a Standby Cluster With the Percona Operator for PostgreSQL</title><link>https://percona.community/blog/2024/03/27/creating-a-standby-cluster-with-the-percona-operator-for-postgresql/</link><pubDate>Wed, 27 Mar 2024 00:00:00 +0000</pubDate><guid isPermaLink="true">https://percona.community/blog/2024/03/27/creating-a-standby-cluster-with-the-percona-operator-for-postgresql/</guid><description>&lt;p>In this video, &lt;a href="https://www.linkedin.com/in/nickolay-ihalainen-b8a35838/?originalSubdomain=ru" target="_blank" rel="noopener noreferrer">Nickolay Ihalainen&lt;/a>, a Senior Scaling Specialist at Percona Global Services, explains how to set up replication with standby clusters for Kubernetes databases using Percona&amp;rsquo;s open-source tools, including the &lt;a href="https://www.percona.com/postgresql" target="_blank" rel="noopener noreferrer">Percona Operator for PostgreSQL&lt;/a>&lt;/p>
&lt;p>A &lt;strong>Standby Cluster&lt;/strong> is a backup version of your main database. It&amp;rsquo;s there to keep your data safe and make sure your database can keep running even if something goes wrong with the main one.&lt;/p></description></item></channel></rss>