Cent os8 PostgreSQL 14をインストールする
- 作成日 2021.10.07
- centos8 PostgreSQL
Cent os8に、PostgreSQL 14をインストールするまでの手順を記述してます。
環境
- OS Rocky Linux release 8.4 (Green Obsidian)
PostgreSQL 14インストール
まず最初に、リポジトリを追加します。
$ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
既存のモジュールを無効にします。
$ sudo dnf -qy module disable postgresql
「dnf」コマンドで、インストールを実行します。
$ sudo dnf install -y postgresql14-server
PostgreSQL 14初期化
初期化を行っておきます。
$ sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
起動設定と開始を行います。
$ sudo systemctl enable --now postgresql-14
開始のみ場合は、「start」を使用します。
$ sudo systemctl start postgresql-14
ステータスを確認してみます。
$ 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) (thawing) since Thu 2021-10-07 09:47:05 JST; 5min ago
Docs: https://www.postgresql.org/docs/14/static/
Process: 1442806 ExecStartPre=/usr/pgsql-14/bin/postgresql-14-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 1442812 (postmaster)
Tasks: 9 (limit: 22940)
Memory: 21.4M
CGroup: /system.slice/postgresql-14.service
├─1442812 /usr/pgsql-14/bin/postmaster -D /var/lib/pgsql/14/data/
├─1442814 postgres: logger
├─1442816 postgres: checkpointer
├─1442817 postgres: background writer
├─1442818 postgres: walwriter
├─1442819 postgres: autovacuum launcher
├─1442820 postgres: stats collector
├─1442821 postgres: logical replication launcher
└─1444181 postgres: pgadmin postgres 192.168.101.77(59800) idle
設定ファイル等は、下記の場所に存在します。
$ sudo ls /var/lib/pgsql/14/data
PG_VERSION global pg_dynshmem pg_logical pg_replslot pg_stat pg_tblspc pg_xact postmaster.opts
base log pg_hba.conf pg_multixact pg_serial pg_stat_tmp pg_twophase postgresql.auto.conf postmaster.pid
current_logfiles pg_commit_ts pg_ident.conf pg_notify pg_snapshots pg_subtrans pg_wal postgresql.conf
PostgreSQL14 管理ユーザーのパスワード設定
管理者ユーザーのパスワードを更新しておきます。
$ sudo su - postgres
$ psql -c "alter user postgres with password 'passwordを入力'"
ALTER ROLE
作業が終われば、抜けておきます。
$ exit
外部接続許可
外部から接続できるようにするには「/var/lib/pgsql/14/data」にある
「postgresql.conf」を以下のように編集します。
$ sudo nano /var/lib/pgsql/14/data/postgresql.conf
listen_addresses = '*'
port = 5432
画像
ついでlogファイルの形式も変更しておきます。
#log_filename = 'postgresql-%a.log' # log file name pattern,
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
画像
次に「pg_hba.conf」を編集します。
※「0.0.0.0/0」は全て許可になるので「192.168.1.0/24」など環境に合わせて設定して下さい。
$ sudo nano /var/lib/pgsql/14/data/pg_hba.conf
local all all peer
# IPv4 local connections:
# host all all 127.0.0.1/32 scram-sha-256
host all all 192.168.0.0/16 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
画像
接続するユーザーも作成しておきます。
$ sudo su - postgres
$ createuser --pwprompt --interactive pgadmin
新しいロールのためのパスワード:
もう一度入力してください:
新しいロールをスーパユーザにしますか? (y/n)y
「exit」で抜けて、PostgreSQLを再起動します。
$ exit
$ sudo systemctl restart postgresql-14
あとは、firewallを許可しておきます。
$ sudo firewall-cmd --add-port=5432/tcp --zone=public --permanent
$ sudo firewall-cmd --reload
pgadminなどから、接続することが可能になります。
14がインストールされていることが確認できます。
-
前の記事
php hex2binで16進表現をバイナリデータに変換する 2021.10.07
-
次の記事
MIRACLE LINUX python3.10をインストールする 2021.10.07
コメントを書く