Showing posts from April, 2017

The world’s most advanced open source database?! Say whaaat?

Talking to non-Postgres people at #PerconaLive, I rаn into an interesting question: why a slogan on your PostgreSQL Community booth (as well as at says  “The world’s most advanced”? - What is so advanced?

I’am pretty much sure, that everyone of us, who worked with Postgres for years, has a long list of features that could address such question. For me, however, this list has an obvious number one: ACID transactions support in a way it is implemented in PostgreSQL.

A database server should be build around a transaction machine simply because a database server is, to certain degree, a transactional machine. Keeping transactions outside, as an external API, proved itself being painful. Now, when DBMS creators suddenly realize that a naïve
approach “we are not a bank, we do not need transactions” doesn’t work and try adding pure men’s transaction support at some point on the fly – that’s even worse.

PostgreSQL is famous for it’s robust backup/recovery, easy replication, p…

Deep dive into postgres stats: pg_stat_all_tables

Everything you always wanted to know about Postgres stats Today's post is about pg_stat_all_tables. This view contains various statistics about tables usage and may be useful in different scenarios. I'm going to discuss the following ones:
Sequential scans.Table's write activity.Autovacuum queue.

Deep dive into postgres stats: pg_stat_replication

Everything you always wanted to know about Postgres statsEveryone who works with postgres, knows about postgres' streaming replication. Every modern database has replication features and postgres is not an exception. Streaming replication is simple, easy to use, mature and reliable. With replication your database becomes distributed so if something goes wrong, troubleshooting becomes a bit harder. I have been working with streaming replication for a long time and there is the one useful feature that helped me understand what's going on with replication – it’s pg_stat_replication view and today I am going to review it in detail.