#psqlコマンドを使用し、SQL接続を行う。
##前提・実現したいこと
psqlコマンドを使用し、SQL接続を行う。
※パスワードはデフォルトのpostgresではない場合。(ここではPASSWORDとします。)
#####【環境】
- DBサーバ:windowsサーバ PostgreSQL ver11.6
- クライアント端末:windows10
#####【前提】
- 環境変数のPathにパスを通す。例:「C:\Program Files\PostgreSQL\11\bin」
- PostgreSQLのpg_hba.conf内METHODはmd5にしておきます。
(セキュリティレベル担保のため)
##設定
- pgpass.confの設定を行う。
まず、クライアント端末からDBサーバに接続する場合は、
クライアント端末にpgpass.confの設定を行います。
コマンドプロンプトでファイルの作成場所を確認します。
set APPDATA
APPDATA=C:\Users\ユーザ名\AppData\Roaming
set APPDATA
と打つと、こんな感じで表示されます。
表示されたパスに「postgresql」フォルダを作成し、
その中に「pgpass.conf」ファイルを作成します。
そこで注意しないといけないのがファイルの文字コードをUTF-8で作成することです。
ファイルの内容は
pgpass.conf
localhost:5432:testdb:postgres:PASSWORD
ホスト名:ポート番号:データベース名:ユーザ名:パスワード
となります。
下記のコードで接続できるはずです。
psql -h localhost -p 5432 -U postgres -d testdb
##補足
※よく使うであろうMETHOD(パスワード認証方法)
Ident : DB の所有者がシェルを実行している OS のユーザ名と一致するかで認証
MD5 : PW 認証 (MD5-hashed)
Trust : 認証せず、DB への接続許可 (PW スルー)