0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Linux 9 に PostgreSQL 16 をインストールする 4 ステップ

Last updated at Posted at 2024-05-12

はじめに

Oracle Linux 9 (OL9) に dnf module を利用して、PostgreSQL をインストールします。

Step 1. モジュールで PostgreSQL 16 をインストールする

モジュールでインストール可能なPostgreSQLを確認します。
以下の例では、PostgreSQL 15 と PostgreSQL 16 がインストール可能です。

# dnf module list postgresql

Oracle Linux 9 Application Stream Packages (x86_64)
Name                  Stream           Profiles                     Summary                                      

postgresql            15               client, server [d]           PostgreSQL server and client module          

postgresql            16               client, server [d]           PostgreSQL server and client module          

PostgreSQL 16 をインストールします。

[root@OL9 ~]# dnf module install postgresql:16
依存関係が解決しました。
=================================================================================================================
 パッケージ                    Arch         バージョン                                 リポジトリー        サイズ
=================================================================================================================

group/moduleパッケージをインストール:
 postgresql-server             x86_64       16.1-1.module+el9.4.0+90259+3ab83788       ol9_appstream 
     7.2 M
依存関係のインストール:
 postgresql                    x86_64       16.1-1.module+el9.4.0+90259+3ab83788       ol9_appstream  
     2.1 M
 postgresql-private-libs       x86_64       16.1-1.module+el9.4.0+90259+3ab83788       ol9_appstream  
     141 k
モジュールプロファイルのインストール中:
 postgresql/server                                                                                              
モジュールストリームの有効化中:
 postgresql                                 16                                                                  

トランザクションの概要
=================================================================================================================

インストール  3 パッケージ

ダウンロードサイズの合計: 9.5 M
インストール後のサイズ: 37 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(省略)
インストール済み:
  postgresql-16.1-1.module+el9.4.0+90259+3ab83788.x86_64
  postgresql-private-libs-16.1-1.module+el9.4.0+90259+3ab83788.x86_64
  postgresql-server-16.1-1.module+el9.4.0+90259+3ab83788.x86_64
完了しました!

Step 2. PostgreSQL 16 の初期セットアップをします。

インストールした時点で postgre ユーザの追加等は行われています。
さらに起動するに初期セットアップを行います。

[root@OL9 ~]# postgresql-setup --initdb --unit postgresql
 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

Step 3. PostgreSQL 16 を起動します。

systemctl を経由して PostgreSQL 16 を起動します。

[root@OL9 ~]# systemctl enable --now postgresql
Created symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /usr/lib/systemd/system/postgresql.service.

Step 4. firewall の設定を変更します。

firewall が有効になっている場合、ポートの設定を追加します。

firewalld サービスを確認します。

[root@OL9 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
     Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled)
     Active: active (running) since Sun 2024-05-12 12:18:34 JST; 16min ago
       Docs: man:firewalld(1)
   Main PID: 657 (firewalld)
      Tasks: 2 (limit: 9317)
     Memory: 42.8M
        CPU: 729ms
     CGroup: /system.slice/firewalld.service
             └─657 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid

 5月 12 12:18:30 OL9 systemd[1]: Starting firewalld - dynamic firewall daemon...
 5月 12 12:18:34 OL9 systemd[1]: Started firewalld - dynamic firewall daemon.
[root@OL9 ~]# firewall-cmd --add-service=postgresql
success
[root@OL9 ~]# firewall-cmd --runtime-to-permanent
success

補足

pgbench はインストールされたないため、追加で以下のパッケージのインストールが必要になります。

[root@OL9 usr]# dnf install postgresql-contrib
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?