完全な PostgreSQL をインストールせずに PSQL をインストールする

Bilal Shahid 2023年6月20日
  1. PostgreSQL を完全にインストールせずに psql をインストールする
  2. 完全な PostgreSQL サーバー パッケージをインストールせずに psql をインストールする
完全な PostgreSQL をインストールせずに PSQL をインストールする

この記事は、完全な PostgreSQL サーバー パッケージをインストールせずに psql をインストールする手順を説明するために特別にまとめられています。

PostgreSQL を完全にインストールせずに psql をインストールする

完全な PostgreSQL を使用せずに psql をインストールする手順には、技術的で複雑なコマンドは含まれません。 代わりに、数分しかかからない簡単な手順です。

PostgreSQL サーバー パッケージ全体をインストールせずに psql を使用する手順には、完全な Postgres をインストールせずに psql を使用するために使用される Homebrew ソフトウェアの助けが必要です。

インストールに進む前に、以下の psql と PostgreSQL の違いを理解しましょう。

psql と PostgreSQL サーバーの違い

PostgreSQL サーバーは psql とは異なります。 このセクションは、記事全体でこれら 2つの用語の混同を避けるために、事前に 2つの用語を区別するように特別に記述されています。

PostgreSQL は、すべての異なるクライアント接続から独立して実行されるサーバーです。 pg_ctl コマンドまたは init スクリプトは、サーバーを起動および停止します。

クライアントが接続する前に、サーバーを起動する必要があります。 一方、psql はコマンドライン クライアントです。 これは、PostgreSQL サーバーに対する端末ベースのフロントエンドです。

psql はサーバーに接続されており、クエリを入力して PostgreSQL に発行し、結果を確認できます。 ファイルからクエリを入力するか、コマンド ライン引数を使用できます。

いずれにせよ、クエリは PostgreSQL サーバーに対する発行であり、結果はユーザーに表示されます。 したがって、PostgreSQL サーバーと psql は 2つの異なるものであることを明確にする必要があります。

完全な PostgreSQL サーバー パッケージをインストールせずに psql をインストールする

Homebrew ソフトウェアにより、ユーザーは完全な PostgreSQL パッケージをインストールしなくても psql を簡単に使用できるようになりました。 代わりに、いくつかのコマンドを実行するだけで、PostgreSQL サーバーの機能と共に psql を使用できます。

この記事には、psql を使用する 2つの方法が含まれています。 最初の方法では、ユーザーが PostgreSQL サーバー パッケージをインストールする必要はありません。 ただし、2 番目の方法では、バックエンドで実行する PostgreSQL サーバー パッケージをインストールする必要があります。

プロセスを簡単に実行できるように、両方の手順について詳しく説明します。

解決策 1: Homebrew ソフトウェアを使用して PostgreSQL サーバーなしで psql をインストールする

このソリューションは Homebrew ソフトウェアを使用し、PostgreSQL サーバーをインストールする必要はありません。 PostgreSQL サーバーなしで psql を使用するプロセスについては、以下で説明します。

まず、Homebrew ソフトウェアを使用して libpq をインストールします。 次のコマンドでこのタスクを実行できます。

brew install libpq

libpq のインストールが成功すると、psqlpg_dump、およびその他のいくつかのクライアント ユーティリティが提供されます。 これらのクライアント ユーティリティを使用するために、PostgreSQL サーバーをインストールする必要はありません。

ユーザーには、完全な PostgreSQL サーバー パッケージに含まれているものと同じユーティリティが提供されます。 さらに、brew はクライアント ユーティリティを"keg-only"としてインストールします。

インストールされたファイルは、共有の binlib、およびその他のディレクトリにリンクされていません。 代わりに、これらのバイナリを使用するには、これらのバイナリをリンクしてパスに追加する必要があります。

バイナリをリンクする 3つの異なる手順を以下に示します。

  1. ファイルをリンクする最初の手順は、path を更新することです。 以下のコマンドを使用して実行できます。

    • zsh ユーザーの場合:

      echo'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
      source ~/.zshrc
      
    • BASH ユーザーの場合:

      echo'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile
      

    バイナリの パスecho 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc に更新されている可能性があることを思い出してください。

  2. path を更新する代わりに、必要なユーティリティの symlinks を作成します。 symlink を作成する例は次のとおりです。

    ln -s /usr/local/Cellar/libpq/10.3/bin/psql /usr/local/bin/psql
    

    上記のコマンドでは、10.3 の代わりにインストール済みのバージョンを使用する必要があります。

  3. バイナリを path にリンクするために使用できる最後の手順は、Homebrew ソフトウェアにすべてのバイナリを path にリンクするように指示することです。 たとえば、次のコマンドはこのタスクを実行します。

    brew link --force libpq
    

    この手順の問題は、後で PostgreSQL パッケージをインストールできないことです。 さらに、このコマンドは、必要のない多くのsymlinksを作成します。

解決策 2: Homebrew ソフトウェアを使用して、PostgreSQL サーバーで psql をインストールする

psql を取得するための 2つ目の解決策は、PostgreSQL サーバーをダウンロードすることです。 ただし、サーバーは使用されません。 Homebrew には postgres コマンドがありますが、psql コマンドはありません。

PostgreSQL パッケージは、Homebrew postgres コマンドを使用してインストールする必要があります。 警告 セクションの下部に向かって、これがデータベースを実行していないことがわかります。

代わりに、システムにファイルを配置するだけです。

> brew install postgres 
==> Downloading https://homebrew.bintray.com/bottles/postgresql-9.6.5.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring postgresql-9.6.5.sierra.bottle.tar.gz
==>/usr/local/Cellar/postgresql/9.6.5/bin/initdb /usr/local/var/postgres 
==> Caveats 
<snip>To have launched, start postgresql now and restart at login:
brew services start postgresql 
Or, if you don't want/need a background service, you can just run: 
pg_ctl -D /usr/local/var/postgres start 
==> Summary 
🍺 /usr/local/Cellar/postgresql/9.6.5: 3,269 files, 36.7MB

psql コマンドは、リモートの PostgreSQL サーバーに接続できるようになりました。 このプロセスでは、システム上でローカル サーバーが実行されません。

インストールされている Homebrew サービスを確認することでも確認できます。

> brew services list 
Name Status User Plist 
mysql stopped 
postgresql stopped

Homebrew サービスは、インストールされていなくてもアクセスできます。 次のコマンドを使用して機能を取得できます。

> brew tap homebrew/services

したがって、最初の解決策では、完全な PostgreSQL サーバー パッケージをインストールせずに psql を使用できます。 一方、2 番目のソリューションでは、PostgreSQL サーバーのインストール後に psql を使用できるようになります。

ただし、2 番目のソリューションでは、ローカル PostgreSQL サーバーを実行せずにリモート サーバーに接続できます。

著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub