ローカルの複数SQLファイルをRedshiftクラスター上で実行する

カテゴリ : Redshift
公開日 : 2021/07/07 更新日 : 2021/07/07

前提

  • 「postgresql-9.3.25-1-windows-x64」インストール済(psqlのみ利用)
  • PostgreSQLへパスを通している(例.C:\Program Files\PostgreSQL\9.3\bin)
  • Redshiftクラスターへネットワークアクセス可能な状態である

環境

  • Windows 10 Pro 64bit

手順

  1. batファイル、sqlファイルを格納する任意のフォルダをローカルに作成する。
    以降、「C:\Users\【ユーザー名】\Desktop\redshift」とした前提で進める。
  2. 「C:\Users\【ユーザー名】\Desktop\redshift」フォルダ配下に「sql」フォルダを作成する。
  3. 「sql」フォルダに実行したいsqlファイルを全て格納する。
  4. 「C:\Users\【ユーザー名】\Desktop\redshift」フォルダ配下に以下のbatファイルを作成する。
    【】は各自環境の値で置き換え。
  5. 以下のbatファイルを実行する。以上。
@echo off
set host=【Redshiftクラスターエンドポイント】
set port=【ポート】
set db_name=【データベース名】
set user=【マスターユーザー名】
set password=【マスターユーザーパスワード】

set PGCLIENTENCODING=UTF8
set PGPASSWORD=%password%

set current_directory=%~dp0
cd %current_directory%\sql

for %%f in (*.sql) do (
    psql -h %host% -p %port% -U %user% -d %db_name% -f %%f -a
)
pause

Share

Blogger : rice

Twitter GitHub

SAP
DOP