この記事の内容はエンジニア向けで、一般ユーザー様にとっては必須ではありません。AWSを使わない方は、読み飛ばしていただいて大丈夫です。
PC-KEIBA DatabaseをAWSで使う
この記事では、「PC-KEIBA Database」を使うために必要なAWSの設定について解説します。主に、AWS上のデータベース環境の構築方法と、クライアントからのデータ移行手順をご紹介します。自分用の備忘録も兼ねていますが、これからAWSを使ってみたい方にも、きっと参考になるはずです。
AWSってなに?
「AWS(アマゾン ウェブ サービス)」とは、Amazonが提供するインターネット上のコンピューターサービスです。パソコンの中にあるソフトやファイルを、ネットを通じてどこからでも使えるようにする、そんなイメージです。
企業やアプリの運営者が「サーバー」や「データ」を置く場所として使っているのもこのAWSです。ただ、AWSは自由度が高い分、設定や操作も複雑で最初はかなり戸惑います。正直、自分もChatGPTが無ければ、AWSの環境なんてとても作れなかったと思います(笑)
逆に言えば、分からないことはChatGPTに聞けばいい。プランの選び方から接続方法まで、ちゃんと導いてくれるので安心です。
AWSのアカウントを作る
まずは「AWS」の公式サイトから、アカウントを作成しましょう。メールアドレス、携帯番号、クレジットカード、そして画像認証など、本人確認の項目が盛りだくさん。ちょっとした審査を受けているような気分になります(笑)
Aurora DBを作る
次に、以下の手順でAurora DBを作ります。
- WebブラウザでAWSマネジメントコンソールにログイン
- 検索バーに「Aurora and RDS」と入力して、「Aurora and RDS」を選択
- 左のメニューから「データベース」をクリック
- 右上のリストから「リージョン」を選択
- 右上の「データベースの作成」をクリック
Aurora PostgreSQLの作成
設定が必要なのは、たぶん以下の項目だけだったと思います。個人利用であれば、最小限の設定で十分です。メモリ1GBでも問題なく動作します。それ以外の項目は、初期設定のままで問題ありません。
- エンジンのタイプ:PostgreSQL
- テンプレート:開発/テスト
- DBクラスター識別子:(任意の名前を設定)
- 認証情報管理:セルフマネージド
- インスタンスの設定:db.t3.micro
- パブリックアクセス:あり
- モニタリング:データベースインサイト – スタンダード
画面の一番下に表示される「概算月間コスト」を確認しながら、インスタンスのスペックを自分の予算に合わせて調整しましょう。設定に迷ったときは、ChatGPTに聞けば大丈夫です。
なお、「PC-KEIBA Database」を使う場合、データベースはPostgreSQL一択です。
また、最も注意が必要なのは「リージョン」の設定です。東京または大阪を選ぶようにしてください。初期値の「バージニア北部」のままだと、距離の影響で通信が遅くなり、パフォーマンスが大きく低下します。
「リージョン」は、AWSが世界のどこにデータセンター(大きなコンピュータ施設)を置いているかを表す場所のことです。
Aurora DBに接続する(PC-KEIBA Database)
PC-KEIBA Database の接続設定

- サーバー名:Aurora DBのエンドポイント
- ポート番号:5432
- SSL:チェックを入れる
- データベース名:pckeiba
- ユーザ名:postgres
- パスワード:Aurora DBのパスワード
「接続テスト」ボタンをクリック。
データベースの作成
接続テストが成功したら、画面右下の「実行」ボタンをクリックします。
データベースの作成・更新チェック処理が終了するまで少し待ちます。
次のメッセージが出てきたら「OK」ボタンをクリックします。

Aurora DBに接続する(A5:SQL Mk-2)
ルート証明書をダウンロード
Amazon RDS のルート証明書をダウンロードします。東京または大阪リージョンの「証明書バンドル(PEM)」を、以下のリンクからダウンロードし、任意の場所に保存してください。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.ClientCertification

A5:SQL Mk-2 の接続設定

- サーバー名:Aurora DBのエンドポイント
- データベース名:pckeiba
- ユーザID:postgres
- パスワード:Aurora DBのパスワード

- SSL モード:必須
- CA Cert:「証明書バンドル(PEM)」のパス
- サーバー証明書を信用する:チェックを入れる
「テスト接続」ボタンをクリック。
Windowsで psql を使えるようにする
Windows環境で最も簡単にTSV出力するために、「psql」を使えるようにします。
psql のインストール場所を確認
通常、以下のフォルダに psql.exe が入っています。
C:\Program Files\PostgreSQL\16\bin
- 16 の部分はバージョンによって異なります(例:14, 15など)
- 中に psql.exe があることを確認してください。
環境変数「PATH」に bin フォルダを追加
- 「スタート」メニューで「環境変数」と検索して「環境変数を編集」をクリック
- 「ユーザー環境変数」または「システム環境変数」の Path を選択し、「編集」をクリック
- 「新規」ボタンをクリックし、以下を追加
C:\Program Files\PostgreSQL\16\bin
「OK」を押してすべて閉じる。
クライアントDBからのTSVエクスポート
ここからは、クライアントからAurora DBへのデータ移行手順を解説します。データ移行には他にもさまざまな方法がありますが、ここではシンプルで分かりやすい方法に絞ってご紹介します。
TSVエクスポートするコマンド
\copy (クエリ) TO 'ファイルパス' WITH (オプション);
このコマンドは「pgAdmin」や「A5:SQL Mk-2」などのクライアントツールでは、ファイルの書き込み権限の制約によりエラーが発生する場合があります。
TSVエクスポートのSQLを作る
SQLはセミコロンで区切ることで、複数の処理をまとめて一度に実行できます。
例えば、JRA-VANの「馬毎レース情報」テーブルから2024年1月~2月分のデータをTSVファイルに出力するには、次のように記述します。
\copy (SELECT * FROM jvd_se WHERE kaisai_nen || kaisai_tsukihi LIKE '202401%') TO 'C:\Data\jvd_se_202401.tsv' WITH (FORMAT csv, DELIMITER E'\t', ENCODING 'UTF8');
\copy (SELECT * FROM jvd_se WHERE kaisai_nen || kaisai_tsukihi LIKE '202402%') TO 'C:\Data\jvd_se_202402.tsv' WITH (FORMAT csv, DELIMITER E'\t', ENCODING 'UTF8');
このSQLをファイルに保存しておきましょう。
Aurora DBのスペックにもよりますが、データは年ごとや月ごとに分割し、少しずつ出力するのが適切です。一度に大量のレコードを処理しようとすると、かえって時間がかかることがあります。管理人@PC-KEIBAは、目安として5万件単位で作業を行いました。
バッチでSQLを実行する
バッチファイルを次のように記述して保存し、ダブルクリックで起動するとファイル出力が行われます。
set PGPASSWORD=postgres
psql -U postgres -d pckeiba -f (※f)
pause
- PGPASSWORD:パスワード
- U:ユーザID
- d:データベース名
- ※f:SQLのファイル名
ちなみに、Aurora DBへのデータ移行よりも、クライアント側でのファイル出力処理のほうが時間がかかります。
Aurora DBへのTSVインポート
TSVインポートするコマンド
\copy テーブル名 FROM 'ファイルパス' WITH (オプション);
TSVインポートのSQLを作る
SQLはセミコロンで区切ることで、複数の処理をまとめて一度に実行できます。
\copy jvd_se FROM 'C:/Data/jvd_se_202401.tsv' WITH (FORMAT csv, DELIMITER E'\t', NULL '', HEADER false, ENCODING 'UTF8');
\copy jvd_se FROM 'C:/Data/jvd_se_202402.tsv' WITH (FORMAT csv, DELIMITER E'\t', NULL '', HEADER false, ENCODING 'UTF8');
Aurora PostgreSQLはサーバー側の copy は非対応だが、クライアント側の copy は可能。
このSQLをファイルに保存しておきましょう。
バッチでSQLを実行する
バッチファイルを次のように記述して保存し、ダブルクリックで起動するとデータ移行が行われます。
set PGPASSWORD=(※P)
psql -U postgres -d pckeiba -h (※h) --set client_encoding=UTF8 -f (※f)
pause
- ※P:Aurora DBのパスワード
- U:Aurora DBのユーザID
- d:Aurora DBのデータベース名
- ※h:Aurora DBのエンドポイント
- ※f:SQLのファイル名
以上、「PC-KEIBA DatabaseをAWSで使う」ための手順でした。