Rocky Linux 9 に PostgreSQL 15 をインストールする方法


このチュートリアルは、これらの OS バージョン用に存在します

  • ロッキー Linux 9
  • ロッキー Linux 8.4

このページでは

  1. 前提条件
  2. リポジトリの設定
  3. PostgreSQL 15 のインストール
  4. ユーザー認証とパスワード暗号化の設定
  5. PostgreSQL ユーザーのパスワードの設定
  6. PostgreSQL での新しいデータベースとユーザーの作成
  7. 表の作成とデータの挿入
  8. データの取得と更新
  9. 環境のクリーンアップ
  10. 結論

PostgreSQL は、拡張性と SQL への準拠に重点を置いた無料のオープンソース データベース管理システムです。 PostgreSQL は、高度なエンタープライズ クラスの RDBMS (リレーショナル データベース管理システム) であり、SQL (リレーショナル) と JSON (非リレーショナル) の両方のクエリをサポートしています。

20 年以上の実績を持つ非常に安定したデータベース管理システムです。オープンソース コミュニティによる開発の一部であり、その信頼性、柔軟性、機能の堅牢性、およびパフォーマンスについて、開発者やシステム管理者の間で高い評価を得ています。

PostgreSQL は、Web アプリケーション、モバイル アプリケーション、および分析アプリケーション。世界中の有名な PostgreSQL ユーザーには、Reddit、Skype、Instagram、Disqus、The Guardian、Yandex、Bloomberg、Nokia、BMW などがあります。

このチュートリアルでは、最新の PostgreSQL 15 を Rocky Linux 9 サーバーにインストールする方法について説明します。また、ユーザー/ロールの作成、データベースの管理、テーブルの作成、データの挿入と取得のための PostgreSQL の基本的な使用法についても説明します。

前提条件

このガイドを完了するには、次の要件が必要です。

  • Rocky Linux 9 サーバー - この例では、ホスト名が postgresql-rocky の Rocky Linux を使用します。
  • sudo/root 管理者権限を持つ root 以外のユーザー。
  • パーミッシブ モードで実行されている SELinux。

PostgreSQL 15 のインストールにジャンプしましょう。

リポジトリの設定

このワイヤリングの時点では、PostgreSQL 15 は Rocky Linux リポジトリで利用できません。したがって、PostgreSQL 15 をインストールするには、公式の PostgreSQL リポジトリを使用する必要があります。

最初のステップは、PostgreSQL リポジトリをインストールして Rocky Linux 9 サーバーに追加することです。

以下のコマンドを実行して、公式の PostgreSQL リポジトリをシステムに追加します。このリポジトリは、複数の RHEL ベースのディストリビューション バージョン 9 で使用できます。

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

プロセス中に、次の出力が表示されます。

以下の dnf コマンドを使用して、利用可能なリポジトリのリストを確認します。

sudo dnf repolist

このスクリーンショットのような出力が表示されます。最新バージョンの PostgreSQL 15 を含む複数のバージョンの PostgreSQL リポジトリが Rocky Linux に追加されています。

PostgreSQL リポジトリを追加したら、次のステップで PostgreSQL 15 をインストールして構成する方法について説明します。

PostgreSQL 15 のインストール

この手順では、Rocky Linux に PostgreSQL 15 をインストールし、PostgreSQL データベースと構成を初期化してから、PostgreSQL 15 サービスを開始して有効にします。

以下の dnf コマンドを実行して、PostgreSQL 15 サーバーをインストールします。構成のプロンプトが表示されたら y を入力し、ENTER を押して続行します。

sudo dnf install postgresql15-server postgresql15-contrib

また、PostgreSQL リポジトリの GPG キーを受け入れるように求められたら、y を入力して確認し、ENTER を押して続行します。

PostgreSQL 15 をインストールしたら、次のコマンドを実行して PostgreSQL データベースと構成を初期化します。

sudo postgresql-15-setup initdb

これにより、Initializing database ... OK などの出力が表示されます。

以下の systemctl コマンド ユーティリティを実行して、PostgreSQL 15 サービスを開始して有効にします。

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

最後に、systemctl below コマンドを使用して PostgreSQL 15 サービスを確認します。これにより、PostgreSQL 15 サーバーが有効になり、実行されていることが保証されます。

sudo systemctl status postgresql-15

このスクリーンショットのような出力が表示されます - PostgreSQL 15 のステータスは実行中であり、有効になっています。これは、起動時にサービスが自動的に開始されることを意味します。

これで、PostgreSQL 15 サーバーがインストールされ、有効化されて実行されました。次のステップでは、PostgreSQL ユーザーの認証方法を設定します。

ユーザー認証とパスワード暗号化の設定

PostgreSQL 15 をインストールして実行すると、PostgreSQL 認証の構成を確認できるようになります。これは、PostgreSQL 構成ディレクトリの構成ファイル pg_hba.conf を介して構成できます。

次のコマンドを使用して PostgreSQL シェルにログインします。

sudo -u postgres psql

ログイン後、以下のクエリを実行して、認証方法を保存したデフォルトの PostgreSQL 構成を確認し、PostgreSQL サーバーで使用されている現在のパスワード暗号化を確認します。

SHOW hba_file;
SHOW password_encryption;

次のような出力が表示されます。認証用のデフォルトの PostgreSQL 構成ファイルは /var/lib/pgsql/15/data/pg_hba.conf であり、有効なデフォルトのパスワード認証は scram-sha- です。 256

次に、以下の nano エディター コマンドを使用して、PostgreSQL 構成ファイル /var/lib/pgsql/15/data/pg_hba.conf を開きます。

sudo nano /var/lib/pgsql/15/data/pg_hba.conf

次の行でデフォルト設定を変更します。これにより、パスワード認証が localhost から scram-sha-256 に変更されます。 local 接続の場合、デフォルトのピアを使用するか、scram-sha-256 パスワード認証を使用できます。

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256

ファイルを保存し、終了したらエディターを終了します。

次に、以下の systemctl コマンドを実行して PostgreSQL 15 サービスを再起動し、変更を適用します。

sudo systemctl restart postgresql-15

最後に、構成を確認するために、次のコマンドを使用して PostgreSQL シェルにログインします。

sudo -u postgres psql

以下のクエリを使用して、接続の詳細を確認します。ピア unix_socket ローカル接続を介して PostgreSQL に接続したことがわかるはずです。

\conninfo

ここで、PostgreSQL ホストを 127.0.0.1 の localhost に指定すると、scram-sha-256 を使用したパスワード認証による接続が表示されるはずです。

sudo -u postgres psql -U postgres -h 127.0.0.1
\conninfo

PostgreSQL ユーザーのパスワードの設定

デフォルトでは、PostgreSQL は新しいシステム ユーザーと、postgres という名前の PostgreSQL ユーザーを作成しました。このステップでは、コマンド ライン経由で Linux ユーザー postgres と PostgreSQL シェル経由で PostgreSQL ユーザー postgres の両方に新しいパスワードを設定します。

まず、以下のコマンドを実行して、ユーザー postgres の新しいパスワードを作成します。新しいパスワードを入力して繰り返します。postgres ユーザーには強力なパスワードを使用してください。

sudo passwd postgres

次に、以下のコマンドで PostgreSQL シェルにログインします。

sudo -u postgres psql

以下のクエリを実行して、デフォルトの PostgreSQL ユーザー postgres のパスワードを変更します。また、次のクエリでは必ずパスワードを使用してください。

ALTER USER postgres WITH PASSWORD 'p4ssw0rdPostgreSQL15';
exit

exit と入力して、PostgreSQL シェルからログアウトします。

最後に、以下のコマンドで PostgreSQL サーバーに再度ログインします。

sudo -u postgres psql -U postgres -h 127.0.0.1

パスワードの入力を求められたら、作成した PostgreSQL サーバーのパスワードを入力します。次に、ENTER を押します。

成功すると、以下のスクリーンショットに PostgreSQL シェルが表示されます。次のクエリを使用して接続ステータスを確認することもできます。

\conninfo

この手順では、デフォルトの PostgreSQL ユーザー postgres のパスワードを変更して構成しました。デフォルトの UNIX ユーザー postgres の新しいパスワードも作成しました。次のステップでは、新しい PostgreSQL ユーザーを作成し、アプリケーション用の新しいデータベースを作成する方法を学習します。

PostgreSQL での新しいデータベースとユーザーの作成

このステップでは、PostgreSQL シェルを介して新しい PostgreSQL ユーザーとデータベースを作成する方法を学習します。また、PostgreSQL サーバーで使用可能なデータベースとユーザーのリストを確認する方法も学びます。

まず、PostgreSQL シェルにログインしていることを確認します。または、以下のコマンドでログインできます。

sudo -u postgres psql

以下のクエリを使用して、新しい PostgreSQL ユーザーを作成します。この例では、データベースを作成する権限 CREATEDB と、PostgreSQL でロールを作成する権限 CREATEROLE\ を持つ新しいユーザー alice を作成します。

CREATE USER alice WITH CREATEDB CREATEROLE PASSWORD 'p4ssw0rdAlice';

次に、以下の PostgreSQL クエリを使用して新しいデータベースを作成します。この例では、alice データベースと testdb データベースの 2 つのデータベースを作成します。両方のデータベースの所有者は同じで、ユーザー alice です。

CREATE DATABASE alice OWNER alice;
CREATE DATABASE testdb OWNER alice;

ここで、PostgreSQL サーバー上のユーザーのリストとデータベースのリストを確認します。

\du
\l

PostgreSQL サーバーのユーザー リストを表示するための \du クエリの出力。 CREATEDB および CREATEROLE 権限を持つ新しいユーザー alice が作成されます。

PostgreSQL サーバー上のデータベースのリストを表示するための \l クエリの出力。新しいデータベース alice が表示され、testdb が作成されます。

最後に、新しい PostgreSQL ユーザーを確認するために、新しいユーザー alice を介して PostgreSQL シェルにログインします。

次のコマンドを実行して、ユーザー alice を介して PostgreSQL シェルにログインします。パスワードの入力を求められたら、パスワードを入力し、ENTER を押して確認します。

sudo -u postgres psql -U alice -h 127.0.0.1

PostgreSQL シェルにログインした後、以下のクエリを実行して、現在の詳細な接続を表示します。

\conninfo

次のような出力が表示されます。ユーザー alice を介して PostgreSQL サーバーに接続し、データベース alice に接続しました。

これで、PostgreSQL ユーザーとデータベースが作成されました。また、新しいユーザーを介して PostgreSQL シェルにログインしました。次のステップでは、テーブルを作成してデータを挿入する方法を学習します。

テーブルの作成とデータの挿入

新しい PostgreSQL ユーザーとデータベースを作成したら、テーブルを作成して PostgreSQL にデータを挿入する方法を学習します。また、PostgreSQL の別のデータベースに切り替える方法と、PostgreSQL データベースのリスト テーブルを確認する方法も学習します。

開始する前に、ユーザー alice として PostgreSQL シェルにログインしていることを確認してください。

データベースのリストを調べて、データベース testdb が使用可能であることを確認します。

\l

次のクエリを使用して、データベース testdb に切り替えます。

\connect testdb

データベース testdb に切り替えると、PostgreSQL シェルは testdb=> のようになります。

次に、以下のクエリを実行して、いくつかの列 idnameage、< を含む新しいテーブル users を作成します。 em>住所、および給与

CREATE TABLE users (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   age            INT     NOT NULL,
   address        CHAR(50),
   salary         REAL
);

出力 CREATE TABLE は、新しいテーブルがデータベースに作成されたことを確認します。

以下のクエリを使用して、現在のデータベースのテーブルのリストを確認します。テーブル users が作成されているはずです。

\dt

新しいテーブルを作成したら、INSERT クエリを使用してテーブルにデータを挿入します。

次の INSERT クエリを実行して、テーブル users にデータを追加します。

INSERT INTO users (id,name,age,address,salary) VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (2, 'Jesse', 35, 'Mexico', 30000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (3, 'Linda', 27, 'Canada', 40000.00);

出力 INSERT 0 1 は、新しいデータがテーブルに追加されたことを確認します。

テーブルを作成し、いくつかのデータを PostgreSQL に追加したら、PostgreSQL からデータを取得し、PostgreSQL で使用可能なデータを更新する方法を学習します。

データの取得と更新

PostgreSQL でテーブルを作成し、INSERT クエリを介してデータを挿入したら、次に、SELECT クエリを介してデータを取得する方法と、UPDATE クエリを介して特定の列のデータを更新または変更する方法を学習します。

データを取得するには、以下の PostgreSQL クエリを実行します。これにより、PostgresSQL テーブル users からデータが取得されます。

SELECT * FROM users;

次のような出力が表示されます - テーブル users のすべてのデータが PostgreSQL シェルに表示されます。

以下のクエリを使用して、特定の列からデータを取得することもできます。このクエリは、特定の列 name、age、salary からデータを取得します。

SELECT name,age,salary FROM users;

以下は、端末で受け取る出力です。

次に、以下の UPDATE クエリを実行して、PostgreSQL データベースのデータを変更します。これにより、列名値 Paul の列 address のデータがスウェーデンに更新されます。

UPDATE users SET address = 'Sweden' WHERE name = 'Paul';

出力 UPDATE 1 は、データが更新および変更されたことを確認します。

以下のクエリを実行して、データベースのデータが変更されていることを確認します。

SELECT * FROM users;

次のような出力が表示されます - name=Paul の列 address が更新されます。

この時点で、PostgreSQL サーバーでユーザー、データベース、テーブルを作成し、データを挿入し、データを取得し、データを更新するための PostgreSQL クエリの基本的な使用法を学習しました。

環境のクリーンアップ

このステップでは、作成したデータベースとユーザーを削除して、PostgreSQL 15 サーバー環境をクリーンアップします。 PostgreSQL 15 のインストールをクリーンアップしましたが、未使用のユーザー、データベース、およびテーブルを削除して PostgreSQL サーバーをクリーンアップする方法も学びました。

開始する前に、デフォルトの postgres ユーザーとして PostgreSQL にログインします。

sudo -u postgres psql

を使用してデータベースtestdbに切り替えます

\connect testdb;

以下のクエリを実行してテーブル users を削除し、現在のデータベースのテーブルのリストを確認します。

DROP TABLE users;
\dt

リレーションが見つかりませんでしたusers テーブルが削除されたことを確認します。

次に、postgres データベースに切り替えて、データベース alice と testdb を削除します。

\connect postgres
DROP DATABASE alice;
DROP DATABASE testdb;

以下のクエリを使用して、データベースのリストを確認します。 alicetestdb の両方のデータベースが PostgreSQL サーバーから削除されていることがわかります。

\l

最後に、次のクエリを実行してユーザー alice を削除します。次に、PostgreSQL サーバー上のユーザーのリストを確認します。

DROP USER alice;
\du

ユーザー alice が PostgreSQL サーバーから削除されたという出力が表示されます。

これで、PostgreSQL サーバーをクリーンアップし、PostgreSQL サーバー上のユーザー、データベース、およびテーブルを削除するための基本的なクエリも学習しました。

結論

このガイドでは、最新バージョンの PostgreSQL 15 を Rocky Linux 9 サーバーにインストールする方法を説明しました。公式の PostgreSQL リポジトリから PostgreSQL をインストールし、PostgreSQL 認証の基本的な構成も学習しました。

それに加えて、PostgreSQL サーバーの使用方法も学習しました。ユーザーの作成、ユーザー パスワードの変更、データベースとテーブルの作成、データの挿入、データのクエリ、データの更新、使用されていないテーブル、データベース、およびユーザーの削除による PostgreSQL サーバーのクリーンアップ。

PostgreSQL はエンタープライズ RDBMS (リレーショナル データベース管理システム) であり、インターネット上の最新の業界で最も使用されています。これで、次に PostgreSQL の他のクエリを確認して学習したい場合や、高可用性 PostgreSQL を複数のサーバーにデプロイする方法を学習することもできます。