Hi,

In statistical reports gathered by PgBadger on our PostgreSQL databases
almost always we have in "Queries that took up the most time" report table
information about transactions start time ('BEGIN;' command). Something
like that in example below:

2    3h34m52.26s    48,556,167    0.00s    BEGIN;

                        0.82s | BEGIN;
                        0.82s | BEGIN;
                        0.82s | BEGIN;
                        0.81s | BEGIN;
                        0.81s | BEGIN;
                        0.81s | BEGIN;
                        0.80s | BEGIN;
                        0.80s | BEGIN;
                        0.79s | BEGIN;
                        0.79s | BEGIN;

Databases placed on different hardware, OS - Debian GNU/Linux, PostgreSQL
9.1

So, questions are:
1. Is this a normal situation with transactions start time ( BEGIN method) ?
2. How can we reduce transactions start time if it's possible in principle?
3. What happens in PostgreSQL on transaction starting time? Can someone
describe this process in detail? (of course, I saw in PostgreSQL source
code, for example, definition such kind functions, like StartTransaction
function, but it's not so easy to understand for third-party researcher,
that all of these operations mean in real for performance)

Best Regards

Aleksei

Reply via email to