PostgreSQL
ローカルPostgreSQLデータベースのセットアップ
概要
このページでは、PostgreSQLデータベースサーバーとpsql
コマンドラインクライアントをインストールおよび構成する方法について説明します。このガイドでは、これらのコンポーネントをローカルアクセス用にコンピューターにインストールしてセットアップする方法について説明します。
このガイドでは、以下のプラットフォームについて説明します。
使用するプラットフォームに一致するセクションに移動してください。
PostgreSQLデータベースを構築したら、JavaScriptまたはTypeScriptアプリケーション内からPrisma Clientを使用して管理できます。PostgreSQL入門ガイドを試して始めてみましょう。
WindowsでのPostgreSQLのセットアップ
PostgreSQLプロジェクトは、データベースをインストールおよび構成するためのネイティブWindowsインストーラーを提供しています。
PostgreSQL Windowsインストールページにアクセスして、インストーラーへのリンクを見つけてください。ページの先頭にあるDownload the installerをクリックしてください。
次のページで、Windows x86-64またはWindows x86-32の列(コンピューターのアーキテクチャによる)で、インストールしたいPostgreSQLのバージョンを選択してください。
選択したバージョンのDownloadをクリックし、ファイルを便利な場所に保存してください。
ダウンロードが完了したら、ファイルをダブルクリックしてインストーラーを実行します(プログラムがコンピューターに変更を加えることを許可するかどうかを確認する必要がある場合があります)。
最初のページでNextをクリックして、インストールの設定を開始します。
次のページで、インストールディレクトリを選択します。
デフォルトの場所を承認するためにNextをクリックしてください。
次のページでは、インストールしたいコンポーネントを選択できます。最低でもPostgreSQL ServerとCommand Line Toolsが選択されている必要があります。
Nextをクリックして続行してください。
次に、データベースデータファイルを保存する場所を選択します。
デフォルトの場所を承認するためにNextをクリックしてください。
次に、PostgreSQLのスーパーユーザー(postgres
という名前)の管理者パスワードを選択し、確認します。
完了したらNextをクリックしてください。
サーバーがリッスンするポートを選択します。
デフォルトの5432ポートを承認するためにNextをクリックしてください。
次に、データベースが使用するロケールを選択します。
コンピューターのデフォルトロケールを使用するためにNextをクリックしてください。
これでインストールの構成部分は完了です。選択した内容の概要を確認できます。
すべてが正しければ、Nextをクリックしてください。
最後に、PostgreSQLをインストールする準備ができました。
Nextをクリックしてインストールプロセスを開始してください。
インストールが完了したら、psql
コマンドラインツールを使用してインストールを検証できます。
スタートメニューでpsql
と入力し、ツールをクリックしてプログラムを起動します。使用したい接続詳細の入力を求められます。
角括弧で囲まれたデフォルトの選択を受け入れるには、Enterを押します。最後のプロンプトは、セットアップ中に設定したpostgres
ユーザーのパスワードになります。
認証に成功すると、データベースとのインタラクティブなpsql
セッションに入ります。
完了したら、以下を入力してセッションを終了します。
\quit
macOSでのPostgreSQLのセットアップ
PostgreSQLプロジェクトは、データベースをインストールおよび構成するためのネイティブmacOSインストーラーを提供しています。
PostgreSQL macOSインストールページにアクセスして、インストーラーへのリンクを見つけてください。Interactive Installer by EnterpriseDBセクションの冒頭にあるDownload the installerをクリックしてください。
次のページで、Mac OS Xの列で、インストールしたいPostgreSQLのバージョンを選択してください。
選択したバージョンのDownloadをクリックし、ファイルを便利な場所に保存してください。
ダウンロードが完了したら、ダウンロードフォルダにあるPostgreSQLインストーラーDMGを見つけてください。ダウンロードしたDMGファイルをダブルクリックして、インストーラーアーカイブをマウントしてください。
マウントされたアーカイブで、PostgreSQLインストーラーパッケージをクリックします(パッケージがコンピューターに変更を加えることを許可するかどうかを確認するプロンプトが表示される場合があります)。
PostgreSQLインストーラーがウェルカム画面で開きます。
最初のページでNextをクリックして、インストールの設定を開始します。
次のページで、インストールディレクトリを選択します。
デフォルトの場所を承認するためにNextをクリックしてください。
次のページでは、インストールしたいコンポーネントを選択できます。最低でもPostgreSQL ServerとCommand Line Toolsが選択されている必要があります。
Nextをクリックして続行してください。
次に、データベースデータファイルを保存する場所を選択します。
デフォルトの場所を承認するためにNextをクリックしてください。
次のページで、PostgreSQLスーパーユーザー(postgres
という名前)の管理者パスワードを選択し、確認します。
完了したらNextをクリックしてください。
次のページでは、サーバーがリッスンするポートを選択できます。
デフォルトの5432ポートを承認するためにNextをクリックしてください。
次に、データベースが使用するロケールを選択します。
コンピューターのデフォルトロケールを使用するためにNextをクリックしてください。
これでインストールの構成部分は完了です。選択した内容の概要を確認できます。
すべてが正しければ、Nextをクリックしてください。
PostgreSQLをインストールする準備ができました。
Nextをクリックしてインストールプロセスを開始してください。
プロセスが完了すると、インストーラーは完了を確認します。
PostgreSQLがインストールされたので、psql
コマンドラインツールを使用してインストールを検証できます。このクライアントはインストールされていますが、簡単にアクセスできるようにターミナルのPATH
変数を変更する必要があります。
まず、新しいターミナルウィンドウを開きます。次に、以下を入力してPostgreSQLのbin
ディレクトリを見つけます。
ls -d /Library/PostgreSQL/*/bin
応答はPostgreSQLのbin
ディレクトリのパスになります。例えば:
/Library/PostgreSQL/12/bin
使用するディレクトリがわかったので、以下を入力して/etc/paths
ファイルを編集します。
sudo nano /etc/paths
続行するには、コンピューターの管理者パスワードの入力を求められます。
見つけたbin
ディレクトリへのパスをファイルの末尾に追加します。
完了したら、CTL-X、Yと入力し、ENTERを押してファイルを保存し、閉じます。
新しいPATH
設定を使用するには、新しいターミナルウィンドウを開きます。新しいウィンドウで、以下を入力します。
psql -U postgres
PostgreSQLの設定プロセス中に設定したpostgres
ユーザーの管理者パスワードの入力を求められます。
認証に成功すると、データベースとのインタラクティブなpsql
セッションに入ります。
終了したら、以下を入力してセッションを終了します。
\quit
LinuxでのPostgreSQLのセットアップ
インストール方法は、使用しているLinuxディストリビューションによって異なります。以下の、ご使用のLinuxディストリビューションに該当するセクションに従ってください。
DebianとUbuntu
PostgreSQLのバージョンは、ディストリビューションのデフォルトリポジトリで利用可能なものを使用するか、PostgreSQLプロジェクトが提供するリポジトリを使用するかを選択できます。デフォルトリポジトリのパッケージは、ディストリビューション向けに提供される他のすべてのソフトウェアと連携するようにテストされていますが、古い場合があります。PostgreSQLプロジェクトのパッケージはより新しいですが、追加の設定が必要になる場合があります。
DebianまたはUbuntuのデフォルトリポジトリを使用してインストールする
UbuntuとDebianの両方で、PostgreSQLサーバーのバージョンがデフォルトのリポジトリ内のパッケージとして提供されています。PostgreSQLのバージョンはPostgreSQLウェブサイトで見られるものより古いかもしれませんが、これらのディストリビューションにインストールする最も簡単な方法です。
PostgreSQLサーバーをインストールするには、コンピューターのローカルパッケージキャッシュを最新のパッケージセットで更新します。その後、postgresql
パッケージをインストールします。
sudo apt updatesudo apt install postgresql
デフォルトでは、PostgreSQLはピア認証を使用するように設定されており、これにより、オペレーティングシステムのユーザー名がPostgreSQLの内部名と一致する場合にユーザーがログインできます。
インストールプロセスにより、postgres
データベースの管理アカウントと一致するpostgres
というオペレーティングシステムユーザーが作成されました。psql
クライアントでPostgreSQLにログインするには、sudo
を使用してpostgres
ユーザーとしてコマンドを実行します。
sudo -u postgres psql
完了したら、以下を入力してpsql
セッションを終了できます。
\quit
PostgreSQLプロジェクトのDebianおよびUbuntuリポジトリを使用してインストールする
より最新のPostgreSQLバージョンが必要な場合は、Linuxディストリビューションが提供するリポジトリの代わりに、PostgreSQLプロジェクトが管理するリポジトリを使用できます。
まず、以下を入力してシステムに新しいリポジトリ定義を追加します。
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(. /etc/os-release; echo $VERSION_CODENAME)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
次に、新しいリポジトリのパッケージを信頼するように、PostgreSQLパッケージ署名キーをapt
に追加します。
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
リポジトリがセットアップされたら、ローカルパッケージインデックスを更新し、PostgreSQLをインストールできます。
sudo apt updatesudo apt install postgresql
デフォルトでは、PostgreSQLはピア認証を使用するように設定されており、これにより、オペレーティングシステムのユーザー名がPostgreSQLの内部名と一致する場合にユーザーがログインできます。
インストールプロセスにより、postgres
データベースの管理アカウントと一致するpostgres
というオペレーティングシステムユーザーが作成されました。psql
クライアントでPostgreSQLにログインするには、sudo
を使用してpostgres
ユーザーとしてコマンドを実行します。
sudo -u postgres psql
完了したら、以下を入力してpsql
セッションを終了できます。
\quit
CentOSとFedora
PostgreSQLのバージョンは、ディストリビューションのデフォルトリポジトリで利用可能なものを使用するか、PostgreSQLプロジェクトが提供するリポジトリを使用するかを選択できます。デフォルトリポジトリのパッケージは、ディストリビューション向けに提供される他のすべてのソフトウェアと連携するようにテストされていますが、古い場合があります。PostgreSQLプロジェクトのパッケージはより新しいですが、追加の設定が必要になる場合があります。
CentOSまたはFedoraのデフォルトリポジトリを使用してインストールする
CentOSとFedoraの両方で、PostgreSQLサーバーのバージョンがデフォルトのリポジトリ内のパッケージとして提供されています。PostgreSQLのバージョンはPostgreSQLウェブサイトで見られるものより古いかもしれませんが、これらのディストリビューションにインストールする最も簡単な方法です。
PostgreSQLサーバーをインストールするには、ディストリビューションのパッケージマネージャーを使用してmysql-server
パッケージをインストールします。
CentOSの場合は、yum
パッケージマネージャーを使用します。
sudo yum install postgresql-server
Fedoraの場合は、dnf
パッケージマネージャーを使用します。
sudo dnf install postgresql-server
MySQLパッケージがインストールされたら、以下を入力してデータベースを初期化します。
sudo postgresql-setup initdb
その後、以下を入力してサービスを起動します。
sudo systemctl start postgresql.service
オプションとして、以下を入力して起動時にPostgreSQLを自動的に開始することもできます。
sudo systemctl enable postgresql.service
デフォルトでは、PostgreSQLはピア認証を使用するように設定されており、これにより、オペレーティングシステムのユーザー名がPostgreSQLの内部名と一致する場合にユーザーがログインできます。
インストールプロセスにより、postgres
データベースの管理アカウントと一致するpostgres
というオペレーティングシステムユーザーが作成されました。psql
クライアントでPostgreSQLにログインするには、sudo
を使用してpostgres
ユーザーとしてコマンドを実行します。
sudo -u postgres psql
完了したら、以下を入力してpsql
セッションを終了できます。
\quit
PostgreSQLプロジェクトのCentOSおよびFedoraリポジトリを使用してインストールする
より最新のPostgreSQLバージョンが必要な場合は、Linuxディストリビューションが提供するリポジトリの代わりに、PostgreSQLプロジェクトが管理するリポジトリを使用できます。
PostgreSQLプロジェクトのリポジトリを構成するには、端末でリポジトリセットアップパッケージをダウンロードしてインストールします。
CentOSの場合は、以下のコマンドを実行します。
sudo yum install "https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(. /etc/os-release; echo $VERSION_ID)-x86_64/pgdg-redhat-repo-latest.noarch.rpm"
Fedoraの場合は、このコマンドを使用します。
sudo dnf install "https://download.postgresql.org/pub/repos/yum/reporpms/F-$(. /etc/os-release; echo $VERSION_ID)-x86_64/pgdg-fedora-repo-latest.noarch.rpm"
CentOS 8を使用している場合は、システムのPostgreSQLモジュールを無効にして、リポジトリのPostgreSQLバージョンと競合しないようにする必要があります。これを行うには、次のように入力します。
sudo yum module disable postgresql
次に、対象とするPostgreSQLのバージョンを選択します。
CentOSの場合、以下を入力して利用可能なPostgreSQLのバージョンを確認します。
yum list postgresql*-server
Fedoraの場合は、dnf
パッケージマネージャーを使用します。
dnf list postgresql*-server
使用するバージョンを決定したら、パッケージマネージャーを使用してインストールできます。
CentOSの場合はyum
パッケージマネージャーを使用します。例えば、PostgreSQL 12をインストールするには、以下を入力します。
sudo yum install postgresql12-server
Fedoraの場合はdnf
パッケージマネージャーを使用します。例えば、PostgreSQL 12をインストールするには、以下を入力します。
sudo dnf install postgresql12-server
PostgreSQLパッケージがインストールされたら、データベースを初期化します。
sudo /usr/pgsql-*/bin/postgresql-*-setup initdb
PostgreSQLのバージョンに対応するsystemdユニットファイルの名前を見つけます。
systemctl list-unit-files | grep postgresql
見つけたユニットファイルを使用してサービスを開始します。例えば、PostgreSQL 12の場合は以下のようになります。
sudo systemctl start postgresql-12.service
オプションとして、enable
を使用して起動時にPostgreSQLを自動的に開始することもできます。
sudo systemctl enable postgresql-12.service
デフォルトでは、PostgreSQLはピア認証を使用するように設定されており、これにより、オペレーティングシステムのユーザー名がPostgreSQLの内部名と一致する場合にユーザーがログインできます。
インストールプロセスにより、postgres
データベースの管理アカウントと一致するpostgres
というオペレーティングシステムユーザーが作成されました。psql
クライアントでPostgreSQLにログインするには、sudo
を使用してpostgres
ユーザーとしてコマンドを実行します。
sudo -u postgres psql
完了したら、以下を入力してpsql
セッションを終了できます。
\quit