В самата база данни няма история, ако използвате psql, можете да използвате "\s", за да видите хронологията на вашите команди там.
Можете да получавате бъдещи заявки или други видове операции в регистрационните файлове, като зададете log_statement във файла postgresql.conf. Това, което вероятно искате вместо това, е log_min_duration_statement , който, ако го зададете на 0, ще регистрира всички заявки и тяхната продължителност в регистрационните файлове. Това може да бъде полезно, след като вашите приложения станат активни, ако зададете това на по-висока стойност, ще видите само дълго изпълняваните заявки, които могат да бъдат полезни за оптимизиране (можете да стартирате EXPLAIN ANALYZE на заявките, които намерите там, за да разберете защо те бавен си).
Друго полезно нещо, което трябва да знаете в тази област е, че ако стартирате psql и му кажете "\timing", той ще покаже колко време отнема всеки израз след това. Така че, ако имате sql файл, който изглежда така:
\timing
select 1;
Можете да го стартирате с правилните флагове и да видите всяко изявление, преплетено с колко време е отнело. Ето как и как изглежда резултатът:
$ psql -ef test.sql
Timing is on.
select 1;
?column?
----------
1
(1 row)
Time: 1.196 ms
Това е удобно, защото не е необходимо да сте суперпотребител на база данни, за да го използвате, за разлика от промяната на конфигурационния файл, и е по-лесно за използване, ако разработвате нов код и искате да го тествате.