PostgreSQL

Client-Side vs Server-Side Latencies Demystified in PostgreSQL and YugabyteDB

Client-Side vs Server-Side Latencies Demystified in PostgreSQL and YugabyteDB

Every SQL execution in PostgreSQL and therefore in YugabyteDB YSQL takes time to process. A common way to identify how much is time spent on processing is to use the pg_stat_statements view in the database. However, the time visible in pg_stat_statements might differ from the time a database client registers for the execution. Where does this difference come from? Let’s take a look.

Read more

Java Development: How Applications Litter Beyond the Heap

Java Development: How Applications Litter Beyond the Heap

In Java development, garbage collection is a routine task. Applications generate garbage all the time. And that garbage is meticulously cleaned out by CMS, G1, Azul C4 and other types of collectors. Basically, our applications are born to bring value to this world, but nothing is perfect—including our applications that leave litter in the Java heap.

However, the story doesn’t end with the Java heap. In fact, it only starts there. Let’s take the example of a basic Java application that uses a relational database—such as PostgreSQL—and solid state drives (SSDs) as a storage device.

Read more

Securing YugabyteDB: Part 2 – Client-to-Server Encryption in Transit

Securing YugabyteDB: Part 2 – Client-to-Server Encryption in Transit

In the first post in this series, we covered how to secure YugabyteDB’s internal RPC protocol using the TLS encryption protocol, also referred to as server-to-server encryption in transit. In this post, we secure the communication between SQL clients and the PostgresQL query interface of YugabyteDB, also called client-to-server encryption in transit. 

YugabyteDB—a 100% open source, distributed SQL database built to accelerate cloud native agility—stores important user and customer data at an organization.

Read more

Performing Flexible IO Testing in YugabyteDB

Performing Flexible IO Testing in YugabyteDB

ybio is a PL/pgSQL based load generator for PostgreSQL and YSQL. This YugabyteDB-specific IO testing toolkit performs flexible IO testing to specific parts of the YugabyteDB infrastructure with no client installation. And because this toolkit is PL/pgSQL-based, it can also work on native PostgreSQL.

ybio is strongly inspired by Kevin Closson’s SLOB and pgio. Yugabyte Developer Advocate Franck Pachot took pgio and turned it into ybio.

Read more

Database Connection Management: Exploring Pools and Performance

Database Connection Management: Exploring Pools and Performance

There are many secrets to creating a high-performing database application. One such secret is proper database connection management. However, this secret is not specific to YugabyteDB or PostgreSQL, but applies to any database.

In this post, we examine database connection management through the lens of YugabyteDB. We explore pools and performance, and run tests to measure the results. By the end of this post, you’ll have a clear sense of how to make efficient use of database connection management.

Read more

PostgreSQL Timestamps and Timezones: How to Navigate the Interval Minefield

PostgreSQL Timestamps and Timezones: How to Navigate the Interval Minefield

In the second part of this blog series on PostgreSQL and YSQL date-time data types, the focus shifts to representing durations, or how long things last. Assuming the reader has read the first part and downloaded the companion code kit, this post explores the relevant data types, including interval, timestamp difference, and other related functions.

Read more

Explore Distributed SQL and YugabyteDB in Depth

Discover the future of data management.
Learn at Yugabyte University
Get Started
Browse Yugabyte Docs
Explore docs
PostgreSQL For Cloud Native World
Read for Free