多くのSQLコマンドを実行するスクリプトの実行時間を記録する必要があります。私はEXPLAIN
を見てきましたが、それは1つのコマンドに限られており、PL/PGSQLを使用したくないので、これに必要な機能を私に与えてくれないようです。そして、私はpsqlクライアントでこれらのスクリプトを実行しないので、\set
コマンドは私にとってはうまくいきません。PostgreSQL:SQLのみを使用したロングスクリプトの実行時間の取得
この擬似コードブロックはあなたに私がしようとしているかのアイデアを与える必要があります。
-- beginning of script
SET begin_time = NOW();
... execute a bunch of SQL commands
-- end of script
SET end_time = NOW();
INSERT INTO execute_log (script_run_time)
SELECT (end_time - start_time);
だけでSQLを使用してPostgreSQLの中でこれを行う簡単な方法はありますか?そうでない場合、どのように私は同じ結果を得ることができますか?
を注:今()したときにタイムスタンプを提供しますトランザクションが開始されました。実際のウォールタイムではclock_timestamp()が必要です。 – wildplasser