見出し画像

PostgreSQLサーバ構築

【対象】
・VirtualBox
 対象OS:CentOS7(Ver:7.9.2009)

1.PostgreSQL-Serverをインストール

# PostgreSQL-Serverをインストール
yum -y install postgresql-server

# バージョン確認
psql --version


2.初期設定 & postgresqlの起動

# データベースの初期化
postgresql-setup initdbpostgresql.serviceの有効化
systemctl enable postgresql.servicepostgresql.service起動
service postgresql.service startpostgresql.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 restartpostgresql.service起動確認
service postgresql.service statuspostgresユーザーに切り替える
su - postgrespostgresデータベースに接続
psql postgresPostgresユーザから抜ける
\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