参考文献
CentOS7にPostgreSQL12をインストールから設定まで (zenn.dev)
postgresql.conf | コピペで使う (oha-yo.com)
(yumのレポジトリにPostgreSQLを追加)
dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
(既存のPostgreSQLを無効化)
dnf -qy module disable postgresql
(dnfによる自動インストール)
dnf install postgresql16-server
(既存のデータベースクラスタの削除)
cd /var/lib/pgsql/16
rm -rf data/
(データベースクラスタの再構築)
su - postgres -c '/usr/pgsql-16/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
(postgres(PostgreSQLのスーパーユーザー)のパスワードを設定)
(ファイアウォールの設定)
firewall-cmd --add-service=postgresql --zone=public --permanent
firewall-cmd --zone=public --list-services --permanent
systemctl restart firewalld
(PostgreSQLのサービスで、データベースクラスタの設定)
systemctl start postgresql-16.service
systemctl status postgresql-16.service
(「active(running)」を確認したら、qで抜ける)
(PostgreSQLのスーパーユーザーの環境変数の設定)
su - postgres
vi ~/.pgsql_profile
(以下の4行を追加)
PATH=/usr/pgsql-16/bin:$PATH
MANPATH=/usr/pgsql-16/share/man:$MANPATH
PGDATA=/var/lib/pgsql/16/data
export PATH MANPATH PGDATA
(:wqで保存して終了)
./.bash_profile
(データベースの接続確認)
psql -l
(環境変数を反映)
source ~/.bash_profile
(パスワードの暗号化アルゴリズムの設定)
vi $PGDATA/postgresql.conf
(下記の先頭の#をとる)
#password_encription = scram-sha-256 ~
(:wqで保存して終了)
(設定を再読み込み)
pg_ctl reload
(確認)
postgres -C password_encryption
(接続用のユーザー(iot00)の作成)
psql
CREATE ROLE iot00 LOGIN;
\du
(パスワードの設定)
\password iot00
(接続用のデータベースの新規作成)
CREATE DATABASE iot00_db01 OWNER iot00;
\l
(スキーマの設定)
\connect iot00_db01 iot00
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
CREATE SCHEMA AUTHORIZATION iot00;
\dn+
exit
(通信用ソケットの作成)
su -
chown postgres:postgres /var/run/postgresql
chmod go-rwx /var/run/postgresql
exit
vi ~/.pgsql_profile
(以下を追加)
export PGHOST=/var/run/postgresql
(:wqで保存して終了)
./.bash_profile
vi $PGDATA/postgresql.conf
(以下に変更)
#unix_socket_directories = ~
↓
unix_socket_directories = '/var/run/postgresql'
(以下に変更)
#listen_addresses = 'localhost' ~
↓
listen_addresses = '*'
(:wqで保存して終了)
vi $PGDATA/pg_hba.conf
(下記の位置に)
# IPv4 local connections:
(下記を追加)
host all all 0.0.0.0/0 scram-sha-256
(:wqで保存して終了)
exit
exit
再起動
pgAdminでログインしてみる