Introducing Crunchy Data Warehouse: A next-generation Postgres-native data warehouse. Crunchy Data Warehouse Learn more

Latest posts from Jonathan S. Katz

  • Deploy PostgreSQL With TLS in Kubernetes

    Jonathan S. Katz

    Ensuring data can be securely transmitted is a requirement of many production systems . PostgreSQL supports TLS as a means of encrypting network communication, verifying hosts, and allowing for certificate-based authentication . The TLS functionality of PostgreSQL is extendable into Kubernetes deployments. The Crunchy Data Postgres Operator has provided support for TLS since version 4.3, using Kubernetes Secrets for mounting the TLS components safely to each Pod. The PostgreSQL Operator does...

    Read More
  • 15 min read

    Active-Active PostgreSQL Federation on Kubernetes

    Jonathan S. Katz

    What if I told you that you can create an out-of-the-box active-active, federated PostgreSQL cluster on Kubernetes? Since logical decoding was introduced in PostgreSQL 9.4, I have been fascinated by the various applications it has. In fact, I've used this feature to apply the concepts of change data capture both in theory and practice to the benefit of both applications and users. Logical replication and native partitioning support , introduced in Postgres 10, offered even more possibilit...

    Read More
  • PostgreSQL Monitoring for App Developers: Alerts & Troubleshooting

    Jonathan S. Katz

    We've seen an example of how to set up PostgreSQL monitoring in Kubernetes . We've looked at two sets of statistics to keep track of it in your PostgreSQL cluster: your vitals (CPU/memory/disk/network) and your DBA fundamentals . While staring at these charts should help you to anticipate, diagnose, and respond to issues with your Postgres cluster, the odds are that you are not staring at your monitor 24 hours a day. This is where alerts come in: a properly set up alerting system will let...

    Read More
  • PostgreSQL Monitoring for Application Developers: The DBA Fundamentals

    Jonathan S. Katz

    I am an accidental DBA, with a huge emphasis on "accidental." I came to PostgreSQL as an application developer who really liked to program with SQL and use the database to help solve my problems. Nonetheless, these systems would enter into production, and as such I had to learn to support them. PostgreSQL monitoring and performance optimization is a vast topic . In fact, I'll read content like what my colleague Greg Smith wrote on benchmarking PostgreSQL 13 on Ubuntu and be reminded that I h...

    Read More
  • PostgreSQL Monitoring for Application Developers: The Vitals

    Jonathan S. Katz

    My professional background has been in application development with a strong affinity for developing with PostgreSQL (which I hope comes through in previous articles ). However, in many of my roles, I found myself as the "accidental" systems administrator, where I would troubleshoot issues in production and do my best to keep things running and safe. When it came to monitoring my Postgres databases, I initially took what I knew about monitoring a web application itself, i.e. looking at CPU, m...

    Read More
  • How to Setup PostgreSQL Monitoring in Kubernetes

    Jonathan S. Katz

    You don't need monitoring until you need it. But if you're running anything in production, you always need it. This is particularly true if you are managing databases. You need to be able to answer questions like "am I running out of disk?" or "why does my application have degraded performance?" to be able to troubleshoot or mitigate problems before they occur. When I first made a foray into how to monitor PostgreSQL in Kubernetes , let alone in a containerized environment, I learned that a l...

    Read More
  • Hidden Gems of PostgreSQL 13

    Jonathan S. Katz

    PostgreSQL 13 is a lucky release ! There are some very impactful new features and the release is coming out at its regularly scheduled time in the fall. One of my favorite parts around the PostgreSQL release process is when I can take a step back, review and discuss the features going into a new release, and learn how they can make a positive impact on our users. For example, in a past hallway track at PGCon , I learned how PostgreSQL 12 introduced the ability to do a form of multi-factor a...

    Read More
  • Why PostgreSQL 13 is a Lucky Release

    Jonathan S. Katz

    I'll admit it: I used to have triskaidekaphobia , otherwise known as a "fear or avoidance of the number 13." After all, I grew up in an area with many tall buildings where the elevators have no 13th floor , so it seems like I could rationalize this irrationality. I've been able to push aside this phobia, but I can completely empathize with those who don't like dealing with 13. Which comes to our topic today: the upcoming PostgreSQL 13 release . The fear of the number 13 was enough to prompt d...

    Read More
  • 6 min read

    How to SCRAM in Postgres with pgBouncer

    Jonathan S. Katz

    I've made it no secret that I am a huge fan of PostgreSQL 's SCRAM support: it provides a secure, standardized way of performing authentication with passwords, and is a method that can be universally applied. The beauty of SCRAM is that both authenticating parties (in this case, your client/application and PostgreSQL) can both verify that each party knows a secret without ever exchanging the secret . In this case, the secret is a PostgreSQL password! That is incredible , and is also a hug...

    Read More
  • 9 min read

    Multi-Kubernetes Cluster PostgreSQL Deployments

    Jonathan S. Katz

    Advanced PostgreSQL high-availability and disaster recovery strategies designed to maximize uptime involve distributing database clusters across multiple data centers. While on the surface, this may seem intuitive (e.g. eliminate outages due to a single-point-of-failure), there are many nuances to consider, including avoiding the dreaded split-brain problem. To set up a PostgreSQL deployment that spans across data centers (or regions, or Kubernetes clusters), and to mitigate the risk of a...

    Read More