ウェブサイト検索

CentOS 7/RHEL 7 に PostgreSQL 15 をインストールする方法 |


この短い記事では、CentOS 7/RHEL 7 への PostgreSQL 15 のインストールを実行します。PostgreSQL は、堅牢性、信頼性、データの整合性において高い評価を得ているオープンソースのデータベース管理システムです。 PostgreSQL は、カリフォルニア大学バークレー校の Postgres プロジェクトの一部として 1986 年に初めて開発されました。 30 年以上にわたって活発に開発されており、その結果、顕著なレベルのデータ整合性を備えた高い復元力とパフォーマンスが実現されています。

PostgreSQL 15 の主な機能:

  • ログと設定の強化:jsonlog として知られる新しいログ形式が導入されています。これにより、定義された JSON 構造を使用してログ データが出力されるため、構造化されたログ システムでログを処理できるようになります。
  • 並べ替えのパフォーマンスと圧縮の向上: ベンチマークから見て、メモリ内およびディスク上の並べ替えアルゴリズムが向上しました。
  • Expressive Developer 機能: SQL 標準の MERGE コマンドが含まれており、ユーザーは INSERTUPDATE などの条件付き SQL ステートメントを作成できます。 および DELETE アクションを 1 つのステートメント内に含めます。また、ユーザーは、ビュー作成者ではなく呼び出し元の権限を使用してデータをクエリするビューを作成することもできます。
  • 論理レプリケーションによる追加オプション: 論理レプリケーションの管理がより柔軟になります。パブリッシャー向けの新しい行フィルタリングと列リストが導入され、ユーザーがテーブルからデータのサブセットを複製できるようになりました。
  • pg_walinspect と呼ばれる新しい組み込み拡張機能: ユーザーは SQL インターフェースから直接先行書き込みログ ファイルの内容を検査できます。
  • PostgreSQL 15 では、長い間非推奨となっていた「排他的バックアップ」モードと、PL/Python からの Python 2 のサポートの両方が削除されます。
  • クラスタまたは個々のデータベースのデフォルトの照合であるICU 照合が導入されています。

以下の手順に従って、CentOS 7/RHEL 7 Linux システムに PostgreSQL 15 をインストールします。

ステップ 1: PostgreSQL リポジトリを追加する

次のコマンドを実行して、CentOS/RHEL 7 システムに PostgreSQL RPM リポジトリを追加します。

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

リポジトリが追加され、動作していることを確認します

$ sudo yum -y repolist
...
repo id                                                                         repo name                                                                                                       status
base/7/x86_64                                                                   CentOS-7 - Base                                                                                                 10,072
extras/7/x86_64                                                                 CentOS-7 - Extras                                                                                                  515
pgdg-common/7/x86_64                                                            PostgreSQL common RPMs for RHEL / CentOS 7 - x86_64                                                                383
pgdg10/7/x86_64                                                                 PostgreSQL 10 for RHEL / CentOS 7 - x86_64                                                                       1,153
pgdg11/7/x86_64                                                                 PostgreSQL 11 for RHEL / CentOS 7 - x86_64                                                                       1,383
pgdg12/7/x86_64                                                                 PostgreSQL 12 for RHEL / CentOS 7 - x86_64                                                                         989
pgdg13/7/x86_64                                                                 PostgreSQL 13 for RHEL / CentOS 7 - x86_64                                                                         736
pgdg14/7/x86_64                                                                 PostgreSQL 14 for RHEL / CentOS 7 - x86_64                                                                         465
pgdg15/7/x86_64                                                                 PostgreSQL 15 for RHEL / CentOS 7 - x86_64                                                                         177
updates/7/x86_64                                                                CentOS-7 - Updates                                                                                               4,425
repolist: 20,298

ステップ 2: CentOS 7/RHEL 7 に PostgreSQL 15 をインストールする

リポジトリを追加した後の次のステップは、システムを更新することです。

sudo yum -y update

次に、PostgreSQL 15 に必要な依存関係を持つ EPEL リポジトリを追加します。

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

アップグレード後、CentOS 7/RHEL 7 上で PostgreSQL 15 のインストールを開始できます。

sudo yum -y install postgresql15-server

実行したコマンドは、サーバー パッケージとクライアント パッケージの両方をインストールします。すべてが期待どおりに実行された場合は、最後に以下のようなメッセージが表示されるはずです。

...
Complete!

以下のコマンドを実行して、システムにインストールされている PostgreSQL のバージョンを確認します。

$ psql -V
psql (PostgreSQL) 15.3

ステップ 3: CentOS 7/RHEL 7 で PostgreSQL 15 を初期化する

CentOS 7/RHEL 7 で PostgreSQL 15 を使用するには、initdb を初期化する必要があります。この操作を実行するには、次のコマンドを使用します。

$ sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
Initializing database ... OK

次に、PostgreSQL 15 サービスを開始して有効にします。

sudo systemctl enable --now postgresql-15

PostgreSQL 15 サービスのステータスを確認します。

$ systemctl status postgresql*
● postgresql-15.service - PostgreSQL 15 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-15.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-12-12 19:49:36 UTC; 9s ago
     Docs: https://www.postgresql.org/docs/15/static/
  Process: 1872 ExecStartPre=/usr/pgsql-15/bin/postgresql-15-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 1878 (postmaster)
   CGroup: /system.slice/postgresql-15.service
           ├─1878 /usr/pgsql-15/bin/postmaster -D /var/lib/pgsql/15/data/
           ├─1880 postgres: logger
           ├─1881 postgres: checkpointer
           ├─1882 postgres: background writer
           ├─1884 postgres: walwriter
           ├─1885 postgres: autovacuum launcher
           └─1886 postgres: logical replication launcher

Dec 12 19:49:36 cent7.mylab.io systemd[1]: Starting PostgreSQL 15 database server...
Dec 12 19:49:36 cent7.mylab.io postmaster[1878]: 2022-12-12 19:49:36.751 UTC [1878] LOG:  redirecting log output to logging collector process
Dec 12 19:49:36 cent7.mylab.io postmaster[1878]: 2022-12-12 19:49:36.751 UTC [1878] HINT:  Future log output will appear in directory "log".
Dec 12 19:49:36 cent7.mylab.io systemd[1]: Started PostgreSQL 15 database server.

ステップ 4: postgres ユーザーのパスワードを設定する

root または sudo 権限を持つユーザーとして、postgres ユーザーのパスワードを設定します。

$ sudo passwd postgres
Changing password for user postgres.
New password: <NEW-PASSWORD>
Retype new password: <CONFIRM-PASSWORD>
passwd: all authentication tokens updated successfully.

上記で設定したパスワードを使用して、ユーザーのシェルへのアクセスをテストします。

$ su - postgres
Password:
Last login: Mon Dec 12 19:53:17 UTC 2022 on pts/0

postgres データベースのユーザー パスワードも更新します

psql -c "ALTER USER postgres WITH PASSWORD 'StrongPassw0rd';"

期待される出力:

ALTER ROLE

PostgreSQL 管理インターフェイスにドロップするには、psql コマンドを実行します。

$ psql
psql (15.1)
Type "help" for help.

postgres=#

結論

PostgreSQL は、リレーショナル データベース管理システムを選択する際に高いパフォーマンスが重要な要件となる多くの分野に適用されています。 PostgreSQL の主な用途には、Web、分析、モバイル、デスクトップ アプリケーションのデータの保存があります。この記事がお役に立てば幸いです。また、当社の Web サイトにアクセスしていただきありがとうございます。

おすすめの本:

  • PostgreSQL データベースを学ぶのに最適な本

関連記事: