【バッチ】PostgreSQLに行挿入するWindowsバッチ
スポンサーリンク
PostgreSQLを学習中のこの頃です。
DBにデータって挿入しまくったら速度ってどうなるの!?と気になったので行挿入するWindowsバッチを作ってみました。
めちゃくちゃ雑ですがバッチファイルの最初にPostgreSQLの本体のあるフォルダやホスト名、DB名などを定義しています。
その情報でDB接続を行い、INSERTのSQLを実行しています。
DBに書き込む情報はタイムスタンプ情報でバッチは無限ループするので終わりたいときはコマンドプロンプトを終了してください。
バッチファイルと同じ場所に書き込んだ回数とSQL実行前後の日時を出力したログファイルも作成されます。
〜 @ECHO OFF REM -------------------------------------------------- REM DB接続パラメータ REM -------------------------------------------------- SET PGPATH="C:\Program Files\PostgreSQL\13\bin\" SET HOSTNAME=localhost SET PORTNUM=5432 SET DBNAME=postgres SET USERNAME=postgres SET PGPASSWORD=1234567890 REM -------------------------------------------------- REM 処理時間計測用のログファイル REM -------------------------------------------------- SET LOGFILE=result.log REM -------------------------------------------------- REM SQL実行 REM -------------------------------------------------- SET /a cnt=0 :LOOP SET /a cnt=cnt+1 SET /P X=%cnt%,%DATE% %TIME%<NUL>>%LOGFILE% REM %DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%でyyyy-MM-ddを生成 %PGPATH%psql -h %HOSTNAME% -p %PORTNUM% -d %DBNAME% -U %USERNAME% -c "INSERT INTO ""TestTable""(""Count"", ""Time"") VALUES(%cnt%, '%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2% %TIME%');" ECHO ,%DATE% %TIME%>>%LOGFILE% goto LOOP 〜
DBのテーブルは下記の構成です。
書き込み速度の比較は次回にでもやってみたいと思います!
更新:2021/7/27
【PostgreSQL】INSERT、UPDATE速度の単純検証 - ででりんブログ