この記事でわかること
-
踏み台サーバー経由でPostgreSQLにSQLを流し込むシェルで扱う作業の全体像 - 手順を進める前に確認したい前提
- 今の環境で試すときに気をつけたい点
はじめに
ローカルPCから踏み台サーバー経由でPostgreSQLにSQLを流し込む際のシェルスクリプトです。
-
スクリプト
throw_sql.sh#!/bin/sh # 踏み台サーバーへのSSH接続情報 SSH_HOST={SSH_HOST} BASTION_SSHUSER={BASTION_SSHUSER} BASTION_SSHKEY={BASTION_SSHKEY} # DBの接続情報 BASTION_SSHKEY={DB_HOST} BASTION_SSHKEY={DB_NAME} BASTION_SSHKEY={DB_USER} DB_PASSWORD={DB_PASSWORD} # SQL SQL='SELECT * FROM TABLE;' DBRESULT=`ssh -T -l ${BASTION_SSHUSER} -i ${BASTION_SSHKEY} ${SSH_HOST} <<EOC export PGPASSWORD=${DB_PASSWORD} psql -U ${DB_USER} -d ${DB_NAME} -h ${DB_HOST} << EOF ${SQL} EOF exit $? EOC ` echo ${DBRESULT}
実務で使うときの確認ポイント
- 対象環境、実行ユーザー、カレントディレクトリを確認してからコマンドを実行する。
- 破壊的な操作は、バックアップやdry-run相当の確認をしてから進める。
- スクリプト化する場合は、失敗時の終了コード、ログ、再実行時の挙動を確認する。
おわりに
ここまで読んでいただきありがとうございました。
Wealthy Designでは、AWS・Webシステム開発・AI活用など、現場で使える技術を大切にしています。
会社の取り組みは、会社サイトにまとめています。

