0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RHEL 9(Red Hat Enterprise Linux 9)に PostgreSQL 14 をインストールする手順

0
Posted at

RHEL 9(Red Hat Enterprise Linux 9)に PostgreSQL 14 をインストールする手順をまとめます。
OSデフォルトを使えばいいですが、特定のバージョンを使いたいシチュエーションは様々です。今回、私は勉強用に14をインストールしたいと思います。

インストール手順

開発元リポジトリ(PGDG)の追加

まずは、PostgreSQL 公式が提供する RHEL 9 用のリポジトリパッケージをインストールします。

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

標準の PostgreSQL モジュールを無効化

RHEL 9 標準のリポジトリに含まれる PostgreSQL が優先されないよう、組み込みのモジュールストリームを明示的に無効化します。

dnf -qy module disable postgresql

PostgreSQL 14 のインストール

PostgreSQL 14 のサーバーおよびクライアントパッケージをインストールします。

dnf -y install postgresql14-server postgresql14

データベースの初期化

インストールが完了したら、データを格納するデータベースクラスタ(環境)を初期化します。

/usr/pgsql-14/bin/postgresql-14-setup initdb

サービスの起動と自動起動設定

PostgreSQL 14 のサービスを起動し、OS の起動時に自動で立ち上がるように設定します。

systemctl enable --now postgresql-14

初期設定(必要に応じて実施)

接続確認(postgres ユーザー)

デフォルトで作成される管理ユーザー postgres に切り替えて、SQL ツール psql に接続できるか確認します。
PostgreSQLをインストールするとデフォルトで作成される管理ユーザー postgres が作成されます。postgresユーザに切り替えて、SQL ツール psql に接続できるか確認します。

# postgres ユーザーに切り替え
sudo -i -u postgres

# psql 起動
psql

外部からの接続許可(リモート接続する場合)

外部のサーバーからこの PostgreSQL に接続させたい場合は、以下のファイルを編集してください。

  • アクセス制限の変更 (/var/lib/pgsql/14/data/pg_hba.conf)
    ファイルの末尾などに、接続を許可したいネットワークを追記します(例: パスワード認証を有効にする場合)。
host    all             all             192.168.0.0/24            scram-sha-256
  • リッスンアドレスの変更(/var/lib/pgsql/14/data/postgresql.conf)
    すべてのネットワークからの接続を受け付けるよう、以下のように変更します。
listen_addresses = '*'

設定の反映

systemctl restart postgresql-14

ファイアウォール

ファイアウォール(firewalld)が有効な場合、PostgreSQL のデフォルトポートである 5432 を許可しておきます。

firewall-cmd --list-all
firewall-cmd --add-service=postgresql --permanent
firewall-cmd --reload

テスト用ロールを作成する

PostgreSQL にログイン

まず、管理権限を持つ postgres ユーザーとして、データベース管理コンソール psql に接続します。

sudo -i -u postgres
psql

ロール を作成する

ユーザって言ってしまいますが、「ロール」です。聞き手は私より知ってる人がたいていなので許容してくれています。直していこう。
psql 上で以下のコマンドを実行します。ここでは例として、ユーザー名 myuser、パスワード mypassword を作成します。

-- ユーザー作成とパスワード設定
CREATE USER myuser WITH PASSWORD 'mypassword';

PostgreSQLクライアントがある適当なリモートホストからmyuserでログインできるか確認して終わり。
次回は、具体的なロール設計を行いって作成までしようと思います。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?