Ubuntu20.04にPostgreSQLとpgAdmin4をインストールする方法


このガイドでは、PostgreSQL 12リレーショナルおよびオブジェクト指向データベース管理システムと、一般的に使用されているWebベースのPostgreSQLデータベースサーバー管理ツールであるpgAdmin4をインストールする手順について説明します。最新バージョンのpgAdmin4であるv4.23をインストールする方法を示します。

始めましょう…

Ubuntu20.04へのPostgreSQLのインストール

Ubuntuシステムにログインし、次のaptコマンドを使用してシステムソフトウェアパッケージを更新します。

$ sudo apt update

次に、デフォルトのUbuntuリポジトリから最新バージョンのPostgreSQLをインストールします。

$ sudo apt install postgresql

インストール中に、インストーラーは新しいPostgreSQLクラスター(単一のサーバーインスタンスによって管理されるデータベースのコレクション)を作成し、データベースを初期化します。デフォルトのデータディレクトリは/ var/lib/postgresql/12/mainで、設定ファイルは/ etc/postgresql/12/mainディレクトリに保存されます。

PostgreSQLをインストールした後、次のsystemctlコマンドを使用して、PostgreSQLサービスがアクティブで実行されており、systemdで有効になっていることを確認できます。

$ sudo systemctl is-active postgresql
$ sudo systemctl is-enabled postgresql
$ sudo systemctl status postgresql

また、次のように、Postgresqlサーバーがクライアントからの接続を受け入れる準備ができていることを確認します。

$ sudo pg_isready

PostgreSQLでデータベースを作成する

PostgreSQLで新しいデータベースを作成するには、PostgreSQLデータベースシェルの(psql)プログラムにアクセスする必要があります。まず、postgresシステムのユーザーアカウントに切り替えて、次のように psql コマンドを実行します。

$ sudo su - postgres
$ psql
postgres=# 

次に、次のコマンドを使用して、新しいデータベースとユーザーを作成します。

postgres=# CREATE USER tecmint WITH PASSWORD '[email protected]';
postgres=# CREATE DATABASE tecmintdb;
postgres=# GRANT ALL PRIVILEGES ON DATABASE tecmintdb to tecmint;
postgres=# \q

PostgreSQLクライアント認証の構成

PostgreSQLはクライアント認証を使用して、どのユーザーアカウントがどのホストからどのデータベースに接続できるかを決定します。これは、Ubuntuでは/etc/postgresql/12/main/pg_hba.confにあるクライアント認証構成ファイルの設定によって制御されます。

図のように、お気に入りのテキストエディタを使用してこのファイルを開きます。

$ sudo vim /etc/postgresql/12/main/pg_hba.conf

PostgreSQLは、peer、ident、password、md5など、さまざまな種類のクライアント認証方法を使用します(各方法の詳細な説明については、PostgreSQL 12のドキュメントを参照してください)。

md5は、認証のためにクライアントが二重のMD5ハッシュパスワードを提供する必要があるため、最も安全で推奨されます。したがって、以下のエントリのunderメソッドとしてmd5が含まれていることを確認してください。

host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                	md5

クライアント認証構成ファイルに変更を加えた後、PostgreSQLサービスを再起動する必要があります。

$ sudo systemctl restart postgresql

UbuntuにpgAdmin4をインストールする

pgAdmin4はUbuntuリポジトリでは利用できません。 pgAdmin4APTリポジトリからインストールする必要があります。リポジトリを設定することから始めます。リポジトリの公開鍵を追加し、リポジトリ構成ファイルを作成します。

 
$ curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
$ sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

次に、pgAdmin4をインストールします。

$sudo apt install pgadmin4

上記のコマンドは、pgadmin4-webアプリケーションをWebモードで提供するためにApache2Webサーバーを含む多数の必要なパッケージをインストールします。

インストールが完了したら、pgdmin4バイナリパッケージに付属のWebセットアップスクリプトを実行して、Webモードで実行するようにシステムを構成します。以下のスクリーンショットに示すように、pgAdmin4ログイン電子メールとパスワードを作成するように求められます。

このスクリプトは、WSGIモジュールを有効にし、pgAdminアプリケーションをWebサーバーのpgadmin4にマウントして、次の場所からアクセスできるようにすることを含むpgAdmin4Webアプリケーションを提供するようにApache2を構成します。

http://SERVER_IP/pgadmin4

また、Apache2サービスを再起動して、最近の変更を適用します。

[email protected] を自分のメールアドレスに置き換え、強力で安全なパスワードも設定することを忘れないでください。

$ sudo /usr/pgadmin4/bin/setup-web.sh

pgAdmin4Webインターフェイスへのアクセス

pgAdmin4 Webアプリケーションインターフェイスにアクセスするには、Webブラウザを開き、次のアドレスを使用してナビゲートします。

http://SERVER_IP/pgadmin4

ログインページが読み込まれたら、前のセクションで作成した電子メールアドレスとパスワードを入力して、pgAdmin4をWebモードで実行するように構成します。

ログインに成功すると、pgAdmin4Webアプリケーションダッシュボードが表示されます。サーバーに接続するには、次のスクリーンショットで強調表示されているように、[新しいサーバーの追加]をクリックします。

次に、一般設定(名前、サーバーグループ、コメント)に接続を入力します。次に、次のスクリーンショットで強調表示されているように、[接続]をクリックします。

次に、PostgreSQLデータベースサーバーのホスト名/アドレス、ポート番号(デフォルトを使用するには5432のまま)を入力し、メンテナンスデータベース(postgresである必要があります)を選択し、データベースのユーザー名とパスワードを入力します。

データベースアクセス資格情報に問題がなく、サーバークライアント認証構成にも問題がない場合、pgAdmin4はデータベースサーバーに正常に接続する必要があります。

それで全部です!詳細については、PostgreSQL12のドキュメントとpgAdmin4のドキュメントを参照してください。以下のコメントセクションを介して私たちとあなたの考えを共有することを忘れないでください。