2024-08-09

CentOSにPostgreSQLをインストール~ユーザ・データベース作成

参考文献

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でログインしてみる

走り書き: pgAdmin (no15maid.blogspot.com)

hyperv windows

Hyper-Vマネージャー クイック作成 Windows11開発環境 仮想マシンの作成 参考サイト 【Windows 11便利テク】Windows 11でより使いやすくなったHyper-V。サクッと無料で仮想環境を作ってみる - PC Watch