How to check blocked queries

Lately I had to several cases with the same reason – hanging selects blocking changes in data. All cases on PostgreSQL 11. It almost looks like PG 11 does not recognize that client connection ended and is not listening anymore – all hanging processes had...

Default “postgres” database – how to re-create it

From time to time happens that someone pollutes default “postgres” database with some unwanted stuff like import of objects intended for some other database. Or it may even happen that someone drops it. If so you can easily create or re-create new default...

Problem with “drowsy” sessions in PostgreSQL 9.6 on Debian 8

When we switched from PostgreSQL 9.5 on Ubuntu 14.04 to PostgreSQL 9.6 on Debian 8 we suddenly started to experience strange problems with “drowsy” sessions. When database was under high load with many connected sessions from time to time happened that...

Debug / trace PostgreSQL with perf

Read this text Tracing PostgreSQL with perf. Or this perf CPU sampling. This text contains short summary. Install perf: sudo apt-get install linux-tools-3.16 (or other version – depends on your OS) Install postgresql server debug symbols: sudo apt-get install...