I have PostgreSQL, loaded some data, and have app using it. Now what?

I had to deal with this question, or some version of it, quite a few times. So, decided to write a summary on what one could (or should) do, after data is in database, and application is running. Namely – setup some kind of replication and backups. What to use, how, and why? This is … Continue reading “I have PostgreSQL, loaded some data, and have app using it. Now what?”

A tale of automating tests of Pg with Bash

Word of warning: this blogpost is about thing related to Bash (well, maybe other shells too, didn’t really test), but since I found it while doing Pg work, and it might bite someone else doing Pg related work, I decided to add it to “postgresql” tag. So, due to some work I had to do, … Continue reading “A tale of automating tests of Pg with Bash”

Parallel dumping of databases

Some time ago I wrote a piece on speeding up dump/restore process using custom solution that was parallelizing process. Later on I wrote some tools (“fast dump and restore”) to do it in more general way. But all of them had a problem – to get consistent dump you need to stop all concurrent access … Continue reading “Parallel dumping of databases”

Command line tools? In XXI century? No way! Yes way!

So, you just installed your PostgreSQL, and you have no idea how to use it – there is no icon in the menu of your OS, so how can you use it? Well, with the dreadful command line. Of course – some people will never get used to textual programs. They need a GUI. That’s … Continue reading “Command line tools? In XXI century? No way! Yes way!”

How much RAM is PostgreSQL using?

(disclaimer: all the data and examples in here are on Linux – the same data can be probably obtained on other systems too, it’s just that I work on Linux and don’t know other systems well). This question pops occasionally in various places – PostgreSQL is using too much memory, why is that, and how … Continue reading “How much RAM is PostgreSQL using?”

Understanding postgresql.conf : log*

After loooong pause, adding next (well, second) post to the “series“. This time, I’d like to describe how logging works. And I don’t mean binary logging (WAL), but the log for us, humans, to read. Before I will go to the postgresql.conf options, let me first describe what happens when PostgreSQL wants to log something.

Two years of explain.depesz.com

First of all – just today I committed patch for Pg::Explain – which is the workhorse behind explain.depesz.com. This patch fixes calculation of exclusive time for explain nodes, and the best thing about it is – I didn’t write it. It’s full patch provided by someone else – Filip Rembiałkowski – my former colleague, friend, … Continue reading “Two years of explain.depesz.com”