PostgreSQL導入

サーブレット/JSPの勉強用にPostgreSQL使ってるのでインストールします。
今回はPostgreSQL 14をインストールします。

1.リポジトリ追加(既に追加済みの場合はスキップ)

[root@miracle ~]# dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
メタデータの期限切れの最終確認: 2:31:30 時間前の 2023年02月23日 06時34分26秒 に実施しました。
pgdg-redhat-repo-latest.noarch.rpm                                                                                         7.6 kB/s |  11 kB     00:01    
パッケージ pgdg-redhat-repo-42.0-32.noarch は既にインストールされています。
依存関係が解決しました。
行うべきことはありません。
完了しました!

2.念の為にアップデート

[root@miracle ~]# dnf update -y
メタデータの期限切れの最終確認: 2:31:47 時間前の 2023年02月23日 06時34分26秒 に実施しました。
依存関係が解決しました。
行うべきことはありません。
完了しました!

3.PostgreSQL 14インストール

[root@miracle ~]# dnf install -y postgresql14-server
メタデータの期限切れの最終確認: 2:31:56 時間前の 2023年02月23日 06時34分26秒 に実施しました。
依存関係が解決しました。
===========================================================================================================================================================
 パッケージ                                  アーキテクチャー               バージョン                                リポジトリー                   サイズ
===========================================================================================================================================================
インストール:
 postgresql14-server                         x86_64                         14.7-1PGDG.rhel8                          pgdg14                         5.7 M
・
・
・
インストール済み:
  postgresql14-14.7-1PGDG.rhel8.x86_64           postgresql14-libs-14.7-1PGDG.rhel8.x86_64           postgresql14-server-14.7-1PGDG.rhel8.x86_64          

完了しました!

4.PostgreSQL 14初期化

[root@miracle ~]#  /usr/pgsql-14/bin/postgresql-14-setup initdb
Initializing database ... OK

5.起動設定&開始

[root@miracle ~]# systemctl enable --now postgresql-14

6.ステータス確認

[root@miracle ~]# systemctl status postgresql-14
● postgresql-14.service - PostgreSQL 14 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-14.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-02-23 09:06:45 JST; 26s ago
     Docs: https://www.postgresql.org/docs/14/static/
  Process: 363106 ExecStartPre=/usr/pgsql-14/bin/postgresql-14-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 363112 (postmaster)
    Tasks: 8 (limit: 3355442)
   Memory: 16.8M
   CGroup: /system.slice/postgresql-14.service
           ├─363112 /usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
           ├─363113 postgres: logger 
           ├─363115 postgres: checkpointer 
           ├─363116 postgres: background writer 
           ├─363117 postgres: walwriter 
           ├─363118 postgres: autovacuum launcher 
           ├─363119 postgres: stats collector 
           └─363120 postgres: logical replication launcher

7.管理ユーザーのパスワード設定

[root@miracle ~]# su - postgres
[root@miracle ~]# psql -c "alter user postgres with password 'PASSWORD'"

ALTER ROLE
[root@miracle ~]# exit
ログアウト

8.外部からの接続許可

pgAdminでアクセス出来る用に設定し、ユーザー追加します。

[root@miracle ~]# vi /var/lib/pgsql/14/data/postgresql.conf
listen_addresses = '*'  ←先頭の#削除してコメント解除し、localhostを*に変更
port = 5432      ←先頭の#削除してコメント解除

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' ←先頭の#削除してコメント解除し、形式変更

[root@miracle ~]# vi /var/lib/pgsql/14/data/pg_hba.conf
# IPv4 local connections:
host    all      all      127.0.0.1/32        scram-sha-256
host    all      all      192.168.10.0/24     scram-sha-256  ←追加

[root@miracle ~]# su - postgres
最終ログイン: 2023/02/23 (木) 09:07:34 JST日時 pts/0
[root@miracle ~]# createuser --pwprompt --interactive pgadmin
新しいロールのためのパスワード: PASSWORD
もう一度入力してください: PASSWORD
新しいロールをスーパーユーザーにしますか? (y/n)y
[root@miracle ~]# exit
ログアウト

9.Firewall設定

ポート5432を許可します。

[root@miracle ~]# firewall-cmd --add-port=5432/tcp --zone=public --permanent
[root@miracle ~]# firewall-cmd --reload

コメント

タイトルとURLをコピーしました