PostgreSQL
ローカルPostgreSQLデータベースのセットアップ
概要
このページでは、PostgreSQLデータベースサーバーとpsql
コマンドラインクライアントのインストールと設定方法について説明します。このガイドでは、ローカルアクセス用にこれらのコンポーネントをお使いのコンピュータにインストールしてセットアップする方法を解説します。
このガイドでは、以下のプラットフォームについて説明します。
作業環境のプラットフォームに該当するセクションを参照してください。
PostgreSQLデータベースをセットアップしたら、Prisma Client を使用して、JavaScriptまたはTypeScriptアプリケーション内からデータベースを管理できます。 まずは、PostgreSQL入門ガイドをお試しください。
WindowsでのPostgreSQLのセットアップ
PostgreSQLプロジェクトは、データベースをインストールおよび構成するためのネイティブWindowsインストーラーを提供しています。
PostgreSQL Windowsインストールページにアクセスして、インストーラーへのリンクを見つけてください。ページの先頭にあるインストーラーをダウンロードをクリックします。
次のページで、お使いのコンピュータのアーキテクチャに応じて、Windows x86-64またはWindows x86-32の列から、インストールするPostgreSQLのバージョンを選択します。
選択したバージョンのダウンロードをクリックして、ファイルを任意の場所に保存します。
ダウンロードが完了したら、ファイルをダブルクリックしてインストーラーを実行します(プログラムがコンピュータに変更を加えることを許可するかどうかを確認する必要がある場合があります)。
最初のページの次へをクリックして、インストールの構成を開始します。
次のページで、インストールディレクトリを選択します。
次へをクリックして、デフォルトの場所を受け入れます。
次のページでは、インストールするコンポーネントを選択できます。少なくともPostgreSQL ServerとCommand Line Toolsを選択する必要があります。
次へをクリックして続行します。
次に、データベースのデータファイルを保存する場所を選択します。
次へをクリックして、デフォルトの場所を受け入れます。
次に、PostgreSQLスーパーユーザー(postgres
)の管理者パスワードを選択して確認します。
完了したら次へをクリックします。
サーバーがリッスンするポートを選択します。
次へをクリックして、デフォルトの5432ポートを受け入れます。
次に、データベースで使用するロケールを選択します。
次へをクリックして、コンピュータのデフォルトロケールを使用します。
これでインストールの構成部分が完了しました。選択内容の概要を確認できます。
すべて問題なければ、次へをクリックします。
最後に、PostgreSQLをインストールする準備ができました。
次へをクリックして、インストールプロセスを開始します。
インストールが完了したら、psql
コマンドラインツールを使用してインストールを確認できます。
スタートメニューで「psql
」と入力し、ツールをクリックしてプログラムを起動します。使用する接続の詳細を入力するように求められます。
Enterキーを押して、角括弧で囲まれたデフォルトの選択肢をそのまま使用します。最後のプロンプトでは、セットアップ時に設定したpostgres
ユーザーのパスワードが要求されます。
認証に成功すると、データベースとのインタラクティブな psql
セッションが開始されます。
完了したら、次のように入力してセッションを終了します。
\quit
macOSでのPostgreSQLのセットアップ
PostgreSQLプロジェクトは、データベースをインストールおよび構成するためのネイティブmacOSインストーラーを提供しています。
PostgreSQL macOSインストールページにアクセスして、インストーラーへのリンクを見つけてください。「EnterpriseDBによるインタラクティブインストーラー」セクションの先頭にあるインストーラーをダウンロードをクリックします。
次のページのMac OS X列で、インストールするPostgreSQLのバージョンを選択します。
選択したバージョンのダウンロードをクリックして、ファイルを任意の場所に保存します。
ダウンロードが完了したら、ダウンロードフォルダにあるPostgreSQLインストーラーDMGを探します。ダウンロードしたDMGファイルをダブルクリックして、インストーラーアーカイブをマウントします。
マウントされたアーカイブで、PostgreSQLインストーラーパッケージをクリックします(パッケージがコンピュータに変更を加えることを許可するかどうかを確認するように求められる場合があります)。
PostgreSQLインストーラーが起動し、ウェルカム画面が表示されます。
最初のページの次へをクリックして、インストールの構成を開始します。
次のページで、インストールディレクトリを選択します。
次へをクリックして、デフォルトの場所を受け入れます。
次のページでは、インストールするコンポーネントを選択できます。少なくともPostgreSQL ServerとCommand Line Toolsを選択する必要があります。
次へをクリックして続行します。
次に、データベースのデータファイルを保存する場所を選択します。
次へをクリックして、デフォルトの場所を受け入れます。
次のページで、PostgreSQLスーパーユーザー(postgres
)の管理者パスワードを選択して確認します。
完了したら次へをクリックします。
次のページでは、サーバーがリッスンするポートを選択できます。
次へをクリックして、デフォルトの5432ポートを受け入れます。
次に、データベースで使用するロケールを選択します。
次へをクリックして、コンピュータのデフォルトロケールを使用します。
これでインストールの構成部分が完了しました。選択内容の概要を確認できます。
すべて問題なければ、次へをクリックします。
PostgreSQLをインストールする準備ができました。
次へをクリックして、インストールプロセスを開始します。
プロセスが完了すると、インストーラーが完了を確認します。
PostgreSQLがインストールされたので、psql
コマンドラインツールを使用してインストールを確認できます。このクライアントはインストールされていますが、簡単にアクセスできるように、ターミナルの PATH
変数を変更する必要があります。
開始するには、新しいターミナルウィンドウを開きます。まず、次のように入力してPostgreSQLの bin
ディレクトリを探します。
ls -d /Library/PostgreSQL/*/bin
応答は、PostgreSQLの bin
ディレクトリのパスになります。例:
/Library/PostgreSQL/12/bin
使用するディレクトリがわかったら、次のように入力して /etc/paths
ファイルを編集します。
sudo nano /etc/paths
続行するには、コンピュータの管理者パスワードを入力するように求められます。
見つけた bin
ディレクトリへのパスをファイルの末尾に追加します。
完了したら、Control+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のWebサイトにあるものよりも古い可能性がありますが、これらのディストリビューションにインストールする最も簡単な方法です。
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のWebサイトにあるものよりも古い可能性がありますが、これらのディストリビューションにインストールする最も簡単な方法です。
PostgreSQLサーバーをインストールするには、ディストリビューションのパッケージマネージャーを使用して postgresql-server
パッケージをインストールします。
CentOS の場合は yum
パッケージマネージャーを使用します。
sudo yum install postgresql-server
Fedora の場合は dnf
パッケージマネージャーを使用します。
sudo dnf install postgresql-server
PostgreSQLパッケージがインストールされたら、次のように入力してデータベースを初期化します。
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バージョンと干渉するのを防ぐために、システムの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