コンテンツにスキップ

PostgreSQL

jrvltsql は SQLite だけでなく PostgreSQL へ直接保存できます。複数マシンで コレクタのデータを共有する場合や、下流の分析基盤へ渡す場合は PostgreSQL 運用を推奨します。

PostgreSQL で何が入るか

操作 入るデータ 入らないデータ
quickstart_timeseries.bat --db postgresql --from <FROM> --to <TO> 指定範囲の通常データ、公式1年保持の TS_O1 / TS_O2 TS_O3TS_O6 の長期蓄積
quickstart_postgres_timeseries.bat <FROM> <TO> 同上。PostgreSQL 専用 batch SQLite 保存
fetch_timeseries_postgres.bat <FROM> <TO> 公式1年保持の TS_O1 / TS_O2 RACE 系データ、TS_O3TS_O6
daily_sync.bat --db postgresql 直近の通常データ 時系列オッズ
jltsql realtime odds-sokuho-timeseries --db postgresql 開催週の TS_O1TS_O6 JRA-VAN 側の保持期間を過ぎた速報オッズ

必要な環境変数

set POSTGRES_HOST=<host>
set POSTGRES_PORT=5432
set POSTGRES_DATABASE=<database>
set POSTGRES_USER=<user>
set POSTGRES_PASSWORD=<password>

一部の script では POSTGRES_DATABASE の別名として POSTGRES_DB も使えます。

クイックスタート

quickstart_timeseries.bat --db postgresql --from 20250426 --to 20260412

このコマンドは、指定範囲の通常データと公式1年保持の TS_O1/TS_O2 時系列オッズを PostgreSQL に投入します。通常の quickstart.bat からは呼びません。 SQLite と PostgreSQL の範囲指定つき時系列 quickstart は、同じ quickstart_timeseries.bat --db <sqlite|postgresql> --from <FROM> --to <TO> に統一しています。 --from / --to を省略した場合は、通常データも公式時系列オッズも今日から過去365日分を対象にします。 PostgreSQL 専用バッチ quickstart_postgres_timeseries.bat <FROM> <TO> もありますが、新規利用では共通コマンドを使ってください。

quickstart_timeseries.batquickstart_postgres_timeseries.bat の最後では、daily_sync.bat を Windows タスクスケジューラへ登録するか確認します。PostgreSQL 接続情報を 現在の CMD セッションだけに設定している場合、タスク実行時には見えません。 登録時の確認で現在の POSTGRES_* を Windows ユーザー環境変数へ保存するか、 事前に永続的な環境変数として設定してください。

日次同期

daily_sync.bat --db postgresql --days-back 7 --days-forward 3

このコマンドは、直近のレース番組、結果、関連する通常データを更新します。 SQLite で同じ処理をする場合は daily_sync.bat --db sqlite を使います。

手動で Windows タスクを登録・更新する場合:

powershell -NoProfile -ExecutionPolicy Bypass -File install_tasks.ps1 -DbType sqlite -Time 06:30
powershell -NoProfile -ExecutionPolicy Bypass -File install_tasks.ps1 -DbType postgresql -Time 06:30

SQLite フォールバック

config/config.yaml.example の既定は SQLite です。PostgreSQL を使えない ローカル検証や単一ユーザー運用では SQLite を使えます。