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:
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)