Category: Performance
Boost your database performance with the latest expert knowledge from CYBERTEC.
Our blog post topics are drawn from the real-life experiences of CYBERTEC’s top technicians, which means you get the maximum benefit from their experience. These tips come from tests done at top-tier companies – they are robust and reliable. Whether you are interested in improving query performance or speeding up your database, there is a post with step-by-step instructions waiting for you in the CYBERTEC blog.
Some of our top blogs include: Detecting Slow Queries Quickly, Find and Fix a Missing PostgreSQL Index, and Subqueries and Performance.
You may want to get expert advice in person – feel free to contact us.
Optimizing PostgreSQL functions with preloaded libraries
In PostgreSQL, functions and procedures can be written in many different programming languages including but not limited to PL/pgSQL, PL/Perl, PL/Python and a lot more. This flexibility gives the end user the choice to write code in languages of their choice. However, this flexibility has some implications which are often forgotten. Loading libraries early is one […]
Kill long running queries in PostgreSQL
How to terminate long running queries in PostgreSQL: People might be fans of SQL, people might like PostgreSQL on Kubernetes or people might even love database ORMs. But have you ever heard of a single person who loves slow queries? In 20+ years of professional database engineering, I have not seen a single fan club […]
pg_stat_io and PostgreSQL 16 performance
Learn about pg_stat_io‘s debugging power: PostgreSQL 16 blesses users around the world with many features which ensure an even better user experience. One of those features is a system view called pg_stat_io. It offers deep insights into the I/O behavior of your PostgreSQL database server. From PostgreSQL 16 onward, it will make it far easier […]
Monitoring Performance for PostgreSQL with Citus
In the fast-paced world of data management, scalability rules supreme and Citus plays an ever greater role. The question now is: How can we see what is going on inside Citus? How can businesses leverage monitoring technology to optimize their PostgreSQL database performance? Monitoring PostgreSQL and Citus Database monitoring is important regardless of the extension […]
Data locality: Scaling PostgreSQL with Citus intelligently
While sharding is often advertised as “THE solution to PostgreSQL scalability”, it is necessary to keep some technical aspects in consideration in terms of performance. The rule is: Sharding should not be used without a deeper awareness of what it is you are actually doing to the data. It’s important to keep in mind that […]
Monitoring PostgreSQL replication
PostgreSQL replication is not just a way to scale your database to run ever larger workloads: it’s also a way to make your database infrastructure redundant, more reliable and resilient. There is, however, a potential for replication lag, which needs to be monitored. How can you monitor replication lag in PostgreSQL? What is replication lag? […]
Citus: Sharding your first table
Citus is a capable sharding solution for PostgreSQL. It solves a ton of scalability issues: these can be addressed using a sharding approach. We at CYBERTEC have used Citus for some time and can wholeheartedly recommend it (check out our services to find out more). Since the need for PostgreSQL sharding is constantly growing, we […]
Indexing “LIKE” in PostgreSQL and Oracle
© Laurenz Albe 2023 Unless you use the binary collation, creating a b-tree index to support a LIKE condition in PostgreSQL is not straightforward. This keeps surprising Oracle users, who claim that a regular b-tree index will of course always support LIKE. I decided to explore the differences between Oracle and PostgreSQL when it comes […]
Bulk load performance in PostgreSQL
There are several techniques to bulk load data into PostgreSQL. I decided to compare their performance in a simple test case. I’ll add some recommendations for parameter settings to improve the performance even more. An example table to bulk load data The table is simple enough: It is a narrow table (only two columns), […]
Killing performance with PostgreSQL partitioning
PostgreSQL is a powerful database which supports partitioning. In contrast to Oracle partitioning is part of the PostgreSQL core engine and does not need any additional licensing or extensions. If you migrate from Oracle to PostgreSQL this will be a major advantage. However, just like any other technology, partitioning is not without risk. While it […]
Reproducible builds: a PostgreSQL query optimization example
This post shows how to optimize a slow query that came out of the Reproducible Builds project. The Reproducible Builds initiative aims to make software compilation entirely deterministic, with no variation in the output when the build is run again. This makes software supply chain attacks much harder, but has also advantages for software quality […]
Subqueries and performance in PostgreSQL
SQL allows you to use subqueries almost anywhere where you could have a table or column name. All you have to do is surround the query with parentheses, like (SELECT …), and you can use it in arbitrary expressions. This makes SQL a powerful language – and one that can be hard to read. […]