Month: February 2018
New features for sequences: gains and pitfalls
About sequences Sequences are used to generate artificial numeric primary key columns for tables. A sequence provides a “new ID” that is guaranteed to be unique, even if many database sessions are using the sequence at the same time. Sequences are not transaction safe, because they are not supposed to block the caller. That is […]
PostgreSQL performance: How the optimizer handles views
“How does the PostgreSQL optimizer handle views?” or “Are views good or bad?” I assume that every database consultant and every SQL performance expert has heard this kind of question already. Given the fact that views are a really essential feature of SQL, it makes sense to take a closer look at the topic in […]
A formula to calculate “pgbench” scaling factor for target DB size
Pgbench is a very well-known and handy built-in tool that Postgres DBAs can use for quick performance benchmarking. Its main functionality/flow is super simple, but it also has some great optional features, like running custom scripts and specifying different probabilities for them. One can also use bash commands to fill query variables for example. But […]
Detect PostgreSQL performance problems easily
Detect PostgreSQL performance problems with ease: Is there a single significantly large and important database in the world which does not suffer from performance problems once in a while? I bet that there are not too many. Therefore, every DBA (database administrator) in charge of PostgreSQL should know how to track down potential performance problems […]
PostgreSQL indexing: Index scan vs. Bitmap scan vs. Sequential scan (basics)
Many people ask about index scans in PostgreSQL. This blog is meant to be a basic introduction to the topic. Many people aren’t aware of what the optimizer does when a single query is processed. I decided to show how a table can be accessed and give examples. Let’s get started with PostgreSQL indexing. Indexes […]
pgwatch2 Feature Pack 3
By Kaarel Moppel – The last couple of weeks, I’ve had the chance to work on our Open Source PostgreSQL monitoring tool called pgwatch2 and implemented some stuff that was in the queue. Changes include only a couple of fixes and a lot of new features… so hell, I’m calling it “Feature Pack 3″… as […]