PostgreSQLサーバ構築
【対象】
・VirtualBox
対象OS:CentOS7(Ver:7.9.2009)
1.PostgreSQL-Serverをインストール
# PostgreSQL-Serverをインストール
yum -y install postgresql-server
# バージョン確認
psql --version
2.初期設定 & postgresqlの起動
# データベースの初期化
postgresql-setup initdb
# postgresql.serviceの有効化
systemctl enable postgresql.service
# postgresql.service起動
service postgresql.service start
# postgresql.service起動確認
service postgresql.service status
3.データベース作成
# postgresユーザーに切り替える
su - postgres
# データベースを確認
psql -l
# postgresデータベースに接続
psql postgres
# 新規データベース作成
CREATE DATABASE データベース名;
# データベースを確認
psql -l
4.テーブル作成 & データを投入
# テーブル作成
CREATE TABLE テーブル名(カラム1 データ型 制約, カラム2 データ型 制約, PRIMARY KEY(カラム1, カラム2))
# テーブルの確認
\dt
# データを投入
INSERT INTO テーブル名(カラム1,カラム2) VALUES(カラム1_データ, カラム2_データ);
# データ参照
SELECT * FROM テーブル名;
5.パスワード設定
# パスワード変更
ALTER USER postgres with encrypted password 'パスワード';
# Postgresユーザから抜ける
\q
exit
6.データベースへ認証方式 & アクセス制御の設定
# データベースへ認証方式の設定
cp -p /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf_bk
ls -l /var/lib/pgsql/data/pg_hba.conf*
vim /var/lib/pgsql/data/pg_hba.conf
-------------------------------
<変更>
local all all peer
↓
local all all md5
host all all 127.0.0.1/32 ident
↓
host all all 127.0.0.1/32 md5
<追記>
host all all 接続セグメントIPアドレス/サブネット md5
-------------------------------
diff /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf_bk
# アクセス設定
cp -p /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf_bk
ls -l /var/lib/pgsql/data/postgresql.conf*
vim /var/lib/pgsql/data/postgresql.conf
-------------------------------
検索キーワード:listen_addresses
<追記>
listen_addresses = '*'
<変更>
#port = 5432
↓
port = 5432
-------------------------------
diff /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf_bk
7.設定反映 & 反映の確認
# postgresql.service再起動
service postgresql.service restart
# postgresql.service起動確認
service postgresql.service status
# postgresユーザーに切り替える
su - postgres
# postgresデータベースに接続
psql postgres
# Postgresユーザから抜ける
\q
exit
8.Firewallの設定
# ファイルウォールの設定インターフェースの確認
firewall-cmd --list-all
# PostgreSQLのポートを開ける
firewall-cmd --add-port=postgres/tcp --add-port=postgres/udp --permanent
# 設定を反映する
firewall-cmd --reload
# ファイルウォールの設定インターフェースの確認
firewall-cmd --list-all
※5432/tcp 5432/udpとでたら設定が反映されている
9.外部接続
PostgreSQLクライアントのインストールで作成したクライアントで接続確認
# データベースに接続
psql -h ホスト名orIPアドレス -U PostgreSQLのユーザ名 -p Port番号 -d データベース名
★概要欄
・PostgreSQLクライアントのインストール
https://note.com/tango9512357/n/n4218512c7ac1
・GitHub
https://github.com/tango3304