Bashを使用してpostgresqlデータベースへの接続をテストするpsqlコマンドに代わるものがあるのだろうか。
私はコアOSクラスターをセットアップしていますが、psql 'Host=xxx port=xxx dbname=xxx user=xxx'
毎分、サービスが実行されているかどうかを判断します。さらに重要なことは、指定されたパラメーターを使用してサービスに接続できるかどうかです。
Core OSにpostgresを直接インストールできません。コアOSで通常使用されるコマンドは、curl -f ${COREOS_PUBLIC_IPV4}:%i;
。ただし、アクセスチェックなしで、サービス自体が特定のポートで実行されている場合にのみ通知します。
前もって感謝します!
pg_isreadyは、PostgreSQLデータベースサーバーの接続状態を確認するためのユーティリティです。終了ステータスは、接続チェックの結果を指定します。
Bashで簡単に使用できます。
https://www.postgresql.org/docs/9.3/static/app-pg-isready.html
選択した言語で簡単な接続スクリプトを作成できます。
コアOSシステムにPerl、php、python、Rubyなどのいずれかがインストールされていることが望ましい
ここにPythonのものがあります:
#!/usr/bin/python2.4
#
import psycopg2
try:
db = psycopg2.connect("dbname='...' user='...' Host='...' password='...'")
except:
exit(1)
exit(0)
今、あなたのコマンドラインは次のようになります
python psqltest.py && echo 'OK' || echo 'FAIL'
チェックを実行するために、最初の(ディスクを節約する)を拡張する単純なコンテナーを構築できます。例えば:
FROM postgres
ENTRYPOINT [ "psql", "-h", "$POSTGRES_PORT_5432_TCP_ADDR", "-p", "$POSTGRES_PORT_5432_TCP_PORT" ]
postgres
とは異なるイメージを使用している場合は、もちろんそのイメージを使用してください。ほぼすべてのコマンドラインを使用し、CoreOSホスト上のbashからの終了コードを確認できます。
#!/bin/sh
if ! docker run --link postgres:postgres psql --command "select * from foo;" ; then
# Do something
fi
PSQLシェル(psql)で接続情報を表示するには、\c conninfo
を使用します