W samej bazie danych nie ma historii, jeśli używasz psql, możesz użyć "\s", aby zobaczyć tam swoją historię poleceń.
Możesz pobrać przyszłe zapytania lub inne typy operacji do plików dziennika, ustawiając log_statement w pliku postgresql.conf. Zamiast tego prawdopodobnie chcesz log_min_duration_statement , co jeśli ustawisz na 0, będzie rejestrować wszystkie zapytania i czasy ich trwania w logach. Może to być pomocne, gdy Twoje aplikacje zostaną uruchomione, jeśli ustawisz ją na wyższą wartość, zobaczysz tylko długo działające zapytania, które mogą być pomocne w optymalizacji (możesz uruchomić ANALIZĘ WYJAŚNIJ dla zapytań, które tam znajdziesz, aby dowiedzieć się, dlaczego są wolne).
Kolejną przydatną rzeczą w tym obszarze jest to, że jeśli uruchomisz psql i powiesz mu "\timing", pokaże on, ile czasu zajmuje każda następna instrukcja. Więc jeśli masz plik sql, który wygląda tak:
\timing
select 1;
Możesz uruchomić go z odpowiednimi flagami i zobaczyć każdą instrukcję przeplataną czasem trwania. Oto jak i jak wygląda wynik:
$ psql -ef test.sql
Timing is on.
select 1;
?column?
----------
1
(1 row)
Time: 1.196 ms
Jest to przydatne, ponieważ nie musisz być superużytkownikiem bazy danych, aby z niego korzystać, w przeciwieństwie do zmiany pliku konfiguracyjnego, i jest łatwiejszy w użyciu, jeśli tworzysz nowy kod i chcesz go przetestować.