PostgreSQLは、標準のクエリ言語SQLを使用してデータを格納および取得するために使用されるRDBMS(リレーショナルデータベース管理システム)です。オープンソースライセンスで無料で提供されるPostgresとしても知られています。 PostgreSQLは、他のデータベース管理ソフトウェアではサポートされていないJSON、XML、およびマテリアライズドビューをサポートしています。
このチュートリアルでは、PostgreSQLをインストールする方法を学びます。 Ubuntu 20.04 。
関連記事:Ubuntu20.04にPhpPgAdminをインストールする方法
前提条件
UbuntuにPostgresをインストールする前に、いくつかの基本的な要件に従う必要があります。
- Ubuntu20.04をインストールしました
- パッケージをインストールするためのsudo権限。
- 適切なインターネット接続。
インストール Ubuntu上のPostgreSQL
PostgreSQLはデフォルトでUbuntuリポジトリで利用できます 。 aptコマンドを使用してPostgreSQLをインストールするだけです。インストールされる最も一般的なパッケージは、PostgreSQLサーバー、クライアント、pgadmin、ライブラリ、およびヘッダーです。
特定のバージョンをインストールするには、PostgreSQLAptリポジトリを使用できます。
インストールを進めるには、以下の手順に従ってください。
まず、次のコマンドを実行して、システムが最新であることを確認します。
$ sudo apt update
Postgresパッケージをインストールする 続いて-投稿 追加のユーティリティと機能を追加するパッケージ。
$ sudo apt install postgresql postgresql-contrib
PostgreSQLのインストールが完了したら、PostgreSQLサービスを開始します。
$ sudo systemctl start postgresql.service
また、PostgreSQLサービスがシステムの起動時に自動的に開始するようにします。
$ sudo systemctl enable postgresql.service
インストール後、次のコマンドを実行してPostgreSQLのステータスを確認できます。
$ sudo systemctl status postgresql.service
デフォルトでは、Postgresユーザーはインストール中に作成されます。 Postgresシェルにアクセスするには、最初にPostgresユーザーに切り替えます。
$ sudo su - postgres
次に、psqlコマンドを入力します。
$ psql
PostgreSQLのバージョンを確認するには、次のコマンドを実行します。
psql --version
または
psql -V
PostgreSQLでの役割の作成
承認と認証のために、Postgresはいくつかの点でUnixスタイルのアカウントに似た「役割」の概念を使用します。インストール中に、PostgresはID認証を使用するように設定されます。 ID認証は、Postgresの役割を一致するLinux/Unixシステムアカウントに関連付けます。新しいロールを作成する責任があるのは、スーパーユーザーと「CREATEROLE」権限を持つロールのみです。
新しい役割を作成する johnという名前で、PostgreSQLシェルで次のコマンドを入力します。
postgres=# createuser john
PostgreSQLでのデータベースの作成
新しいデータベースの作成 PostgreSQLデータベースシェル(psql)プログラムが必要です。 psqlシェルにログインし、次のコマンドを入力してユーザーを作成し、パスワードを割り当てます。ここでは、パスワードmystrongpasswordを使用してユーザー名jackyを作成します。 自分で作成できます。
postgres=# CREATE USER jacky WITH PASSWORD 'mystrongpassword';
次のコマンドを使用してデータベース(例:ギャラリー)を作成します
postgres=# CREATE DATABASE gallery;
作成したデータベースを使用して特権を付与します。ここでは、ジャッキーを使用するためのデータベースギャラリーのすべての権限を提供します。
postgres=# GRANT ALL PRIVILEGES ON DATABASE gallery to jacky;
最後にPostgreSQLシェルを終了するには、\ qと入力し、Enterキーを押します。
postgres=# \q
PostgreSQLでのリモートアクセスの有効化
PostgreSQLはデフォルトでローカルループバックインターフェース127.0.0.1でリッスンします。他のリモートクライアントからデータベースにアクセスする場合は、さまざまなネットワークインターフェイスでリッスンするようにPostgreSQLを構成する必要があります。さまざまなインターフェース用にPostgreSQLを構成するには、nanoまたはその他のテキスト編集ツールを使用してPostgreSQLの構成ファイルを開きます。
$ sudo vi /etc/postgresql/12/main/postgresql.conf
この構成ファイルで、 listen_addressesを検索します。 「接続と認証」セクションの下。行のコメントを解除し、 localhostを変更します に '*'。これにより、すべてのネットワークインターフェイスで着信接続をリッスンするようにPostgreSQLに指示が与えられます。
listen_addresses = '*'
構成を保存し、PostgreSQLサーバーを再起動して、変更が反映されるようにします。
$ sudo systemctl restart postgresql.service
これで、PostgreSQLが別のインターフェースでリッスンしていることがわかります。次のコマンドを実行して確認できます。
$ ss -ltn
サーバーでUFWファイアウォールを有効にしている場合は、ポート5432を開く必要があります。 次のコマンドを実行して、着信TCP接続の場合。
$ sudo ufw allow 5432/tcp
また、次のコマンドを実行して、UFWファイアウォールルールを確認します。
$ sudo ufw status verbose
結論
このチュートリアルでは、いくつかの初期構成を含め、Ubuntu20.04にPostgreSQLサーバーをインストールする方法を学びました。これに加えて、PostgreSQLをさまざまなインターフェースにバインドして、リモートクライアントからの接続を受け入れる方法も学びました。