PostgreSQL

ローカルPostgreSQLデータベースのセットアップ

シェア

概要

このページでは、PostgreSQLデータベースサーバーpsql コマンドラインクライアントのインストールと設定方法について説明します。このガイドでは、ローカルアクセス用にこれらのコンポーネントをお使いのコンピュータにインストールしてセットアップする方法を解説します。

このガイドでは、以下のプラットフォームについて説明します。

作業環境のプラットフォームに該当するセクションを参照してください。

WindowsでのPostgreSQLのセットアップ

PostgreSQLプロジェクトは、データベースをインストールおよび構成するためのネイティブWindowsインストーラーを提供しています。

PostgreSQL Windowsインストールページにアクセスして、インストーラーへのリンクを見つけてください。ページの先頭にあるインストーラーをダウンロードをクリックします。

PostgreSQL initial download page

次のページで、お使いのコンピュータのアーキテクチャに応じて、Windows x86-64またはWindows x86-32の列から、インストールするPostgreSQLのバージョンを選択します。

PostgreSQL available versions

選択したバージョンのダウンロードをクリックして、ファイルを任意の場所に保存します。

ダウンロードが完了したら、ファイルをダブルクリックしてインストーラーを実行します(プログラムがコンピュータに変更を加えることを許可するかどうかを確認する必要がある場合があります)。

PostgreSQL installer greeting

最初のページの次へをクリックして、インストールの構成を開始します。

次のページで、インストールディレクトリを選択します。

PostgreSQL installation directory

次へをクリックして、デフォルトの場所を受け入れます。

次のページでは、インストールするコンポーネントを選択できます。少なくともPostgreSQL ServerCommand Line Toolsを選択する必要があります。

PostgreSQL choose components

次へをクリックして続行します。

次に、データベースのデータファイルを保存する場所を選択します。

PostgreSQL data directory

次へをクリックして、デフォルトの場所を受け入れます。

次に、PostgreSQLスーパーユーザー(postgres)の管理者パスワードを選択して確認します。

PostgreSQL set password

完了したら次へをクリックします。

サーバーがリッスンするポートを選択します。

PostgreSQL set port

次へをクリックして、デフォルトの5432ポートを受け入れます。

次に、データベースで使用するロケールを選択します。

PostgreSQL locale

次へをクリックして、コンピュータのデフォルトロケールを使用します。

これでインストールの構成部分が完了しました。選択内容の概要を確認できます。

PostgreSQL installation summary

すべて問題なければ、次へをクリックします。

最後に、PostgreSQLをインストールする準備ができました。

PostgreSQL ready to install

次へをクリックして、インストールプロセスを開始します。

インストールが完了したら、psql コマンドラインツールを使用してインストールを確認できます。

スタートメニューで「psql」と入力し、ツールをクリックしてプログラムを起動します。使用する接続の詳細を入力するように求められます。

Running psql client

Enterキーを押して、角括弧で囲まれたデフォルトの選択肢をそのまま使用します。最後のプロンプトでは、セットアップ時に設定したpostgresユーザーのパスワードが要求されます。

認証に成功すると、データベースとのインタラクティブな psql セッションが開始されます。

完了したら、次のように入力してセッションを終了します。

\quit

macOSでのPostgreSQLのセットアップ

PostgreSQLプロジェクトは、データベースをインストールおよび構成するためのネイティブmacOSインストーラーを提供しています。

PostgreSQL macOSインストールページにアクセスして、インストーラーへのリンクを見つけてください。「EnterpriseDBによるインタラクティブインストーラー」セクションの先頭にあるインストーラーをダウンロードをクリックします。

PostgreSQL initial download page

次のページのMac OS X列で、インストールするPostgreSQLのバージョンを選択します。

PostgreSQL available versions

選択したバージョンのダウンロードをクリックして、ファイルを任意の場所に保存します。

ダウンロードが完了したら、ダウンロードフォルダにあるPostgreSQLインストーラーDMGを探します。ダウンロードしたDMGファイルをダブルクリックして、インストーラーアーカイブをマウントします。

PostgreSQL DMG file

マウントされたアーカイブで、PostgreSQLインストーラーパッケージをクリックします(パッケージがコンピュータに変更を加えることを許可するかどうかを確認するように求められる場合があります)。

PostgreSQL installer package

PostgreSQLインストーラーが起動し、ウェルカム画面が表示されます。

PostgreSQL installer welcome

最初のページの次へをクリックして、インストールの構成を開始します。

次のページで、インストールディレクトリを選択します。

PostgreSQL installation directory

次へをクリックして、デフォルトの場所を受け入れます。

次のページでは、インストールするコンポーネントを選択できます。少なくともPostgreSQL ServerCommand Line Toolsを選択する必要があります。

PostgreSQL choose components

次へをクリックして続行します。

次に、データベースのデータファイルを保存する場所を選択します。

PostgreSQL data directory

次へをクリックして、デフォルトの場所を受け入れます。

次のページで、PostgreSQLスーパーユーザー(postgres)の管理者パスワードを選択して確認します。

PostgreSQL set password

完了したら次へをクリックします。

次のページでは、サーバーがリッスンするポートを選択できます。

PostgreSQL set port

次へをクリックして、デフォルトの5432ポートを受け入れます。

次に、データベースで使用するロケールを選択します。

PostgreSQL locale

次へをクリックして、コンピュータのデフォルトロケールを使用します。

これでインストールの構成部分が完了しました。選択内容の概要を確認できます。

PostgreSQL installation summary

すべて問題なければ、次へをクリックします。

PostgreSQLをインストールする準備ができました。

PostgreSQL ready to install

次へをクリックして、インストールプロセスを開始します。

プロセスが完了すると、インストーラーが完了を確認します。

PostgreSQL installation complete

PostgreSQLがインストールされたので、psql コマンドラインツールを使用してインストールを確認できます。このクライアントはインストールされていますが、簡単にアクセスできるように、ターミナルの PATH 変数を変更する必要があります。

開始するには、新しいターミナルウィンドウを開きます。まず、次のように入力してPostgreSQLの bin ディレクトリを探します。

ls -d /Library/PostgreSQL/*/bin

応答は、PostgreSQLの bin ディレクトリのパスになります。例:

/Library/PostgreSQL/12/bin

使用するディレクトリがわかったら、次のように入力して /etc/paths ファイルを編集します。

sudo nano /etc/paths

続行するには、コンピュータの管理者パスワードを入力するように求められます。

PostgreSQL open paths file

見つけた bin ディレクトリへのパスをファイルの末尾に追加します。

PostgreSQL edit paths file

完了したら、Control+XYEnter を押してファイルを保存して閉じます。

新しい PATH 設定を使用するには、新しいターミナルウィンドウを開きます。新しいウィンドウで、次のように入力します。

psql -U postgres

PostgreSQL構成プロセス中に設定した postgres ユーザーの管理者パスワードを入力するように求められます。

PostgreSQL psql authentication

認証に成功すると、データベースとのインタラクティブな psql セッションが開始されます。

完了したらセッションを終了するには、次のように入力します。

\quit

LinuxでのPostgreSQLのセットアップ

インストール方法は、使用しているLinuxディストリビューションによって異なります。お使いのLinuxディストリビューションに該当する以下のセクションに従ってください。

DebianとUbuntu

ディストリビューションのデフォルトリポジトリで利用可能なPostgreSQLのバージョンを使用するか、PostgreSQLプロジェクトが提供するリポジトリを使用するかを選択できます。デフォルトリポジトリのパッケージは、ディストリビューションに提供されている他のすべてのソフトウェアと連携するようにテストされていますが、バージョンが古い可能性があります。PostgreSQLプロジェクトのパッケージは、より新しいバージョンですが、追加の設定が必要になる場合があります。

DebianまたはUbuntuのデフォルトリポジトリを使用したインストール

UbuntuとDebianの両方で、PostgreSQLサーバーのバージョンがデフォルトリポジトリ内のパッケージとして提供されています。PostgreSQLのバージョンは、PostgreSQLのWebサイトにあるものよりも古い可能性がありますが、これらのディストリビューションにインストールする最も簡単な方法です。

PostgreSQLサーバーをインストールするには、コンピュータのローカルパッケージキャッシュを最新のパッケージセットで更新します。その後、postgresql パッケージをインストールします。

sudo apt update
sudo 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 update
sudo 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
著者について
Justin Ellingwood

Justin Ellingwood

Justinは、2013年からデータベース、Linux、インフラストラクチャ、および開発者ツールについて執筆しています。現在、妻と2羽のウサギと一緒にベルリンに住んでいます。彼は通常、三人称で書く必要はありません。これは関係者全員にとって喜ばしいことです。