Ответы:
Время можно включить с \timing
помощью приглашения psql (как уже сказал Калеб).
Если у вас 8.4 или выше, вы можете добавить необязательный аргумент включения / выключения для\timing
, который может быть полезен, если вы хотите иметь возможность установить синхронизацию в .psqlrc - тогда вы можете \timing on
явно установить в сценарии, где в \timing
противном случае обычное переключалось бы это от
Время , которое \timing
возвращает также включает в себя сетевую задержку, если вы подключаетесь к удаленному серверу.
Если вы не хотите этого и не нуждаетесь в выводе запроса тоже, лучше используйте EXPLAIN ANALYZE
, который выводит план запроса с оценками планировщика плюс фактическое время выполнения.
например, EXPLAIN ANALYZE SELECT foo from bar ;
explain analyze
дает примерно вдвое больше времени, чем я вижу при использовании \timing
, что противоположно тому, что я ожидал, основываясь на комментариях, касающихся задержки в сети. Я подозреваю, что при обычном выполнении накладные расходы analyze
увеличивают время запроса. Основываясь на документах, я думаю, что EXPLAIN (ANALYZE, TIMING OFF) SELECT foo FROM bar
это даст вам более полезную информацию о времени. См. Postgresql.org/docs/9.6/static/sql-explain.html для получения подробной информации.