PostgreSQLの本体じゃなくてコマンドだけが欲しい時のお話です。
以前、MacにPostgreSQLをインストールして使ったことがありました。 ponsuke-tarou.hatenablog.com 今回は、自分のパソコンじゃなくてサーバにあるPostgreSQLにコマンドで接続したいです。 なので、PostgreSQL本体が欲しいのではなくコマンドだけが欲しいのです。
Windows
- 環境
- Windows 10 Pro バージョン1909
- 接続先 : PostgreSQL 9.3.10
インストールする
- Download PostgreSQL Database for Windows, Linux and MacOS & 32-bit or 64-bit Versions | EDBをブラウザで表示する
- 任意のバージョンのWindowsのところにある[Download]ボタンからexeファイルをダウンロードする

今回は、postgresql-10.16-2-windows-x64.exeをダウンロード
- ダウンロードしたexeファイルを起動する

しばし待つ 
[Next]ボタンで進む 
インストール先を指定する 
[Command Line Tools]だけにチェックを入れる 
[Next]ボタンで進む 
[Next]ボタンで進む 
しばし待つ 
[Finish]ボタンでダイアログを閉じる
パスを通す
パスは、使っているシェルや環境によって設定がちょっぴり違います。
今回は、コマンドプロンプトでpsqlコマンドを使うので、システムのプロパティから環境変数PATHに設定します。
Win + R>sysdm.cplを入力 > Enterで[システムのプロパティ]ダイアログを開く- [詳細設定]タブ > [環境変数...] > [ユーザー環境変数]か[システム環境変数]の[Path]を選択 > [編集]ボタンでダイアログを開く
- [新規]ボタン >
{インストール先フォルダ}\binを入力 > [OK]ボタンでダイアログを閉じる
# 環境変数PATHに設定されました >echo %path% ...省略...C:\apps\PostgreSQL\10\bin;...省略... # psqlコマンドが使えるようになりました >psql -V psql (PostgreSQL) 10.16 # データベースへはこんな感じで接続できます(切断はCtrl+C) # psql -h {ホスト} -p {ポート} -U {ユーザー} -d {データベース} >psql -h example.com -p 5432 -U ponsuke -d my_db psql (10.16, server 9.3.10) Type "help" for help. my_db=#
| psqlのオプション | 意味 |
|---|---|
-h {ホスト}--host={ホスト} |
サーバを実行しているマシンのホスト名を指定 |
-p {ポート}--port={ポート} |
サーバが接続監視を行っているTCPポートもしくはローカルUnixドメインソケットファイルの拡張子 環境変数PGPORTの値、環境変数が設定されていない場合はコンパイル時に指定した値(通常は5432)がデフォルト値 |
-U {ユーザー}--username={ユーザー} |
接続するユーザーを指定 |
-d {データベース}--dbname={データベース} |
接続するデータベースの名前 |
-c {コマンド}--command={コマンド} |
実行するコマンド -cまたは-fが指定されると、psqlは標準入力からコマンドを読み取りません。 その代わりに、すべての-cオプションおよび-fオプションを順に処理した後、終了します。 |
-f {ファイル}--file={ファイル} |
コマンドを読み取るファイルを指定 |
上記表の出典 : psql - PostgreSQL 12.4文書

Windows以外
いつか・・・やった時に書きます。