CentOS7にPostgres9.5を入れてみる
RPMの追加
1 |
rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-1.noarch.rpm |
パッケージの確認
1 |
yum list | grep postgresql95 |
インストール
1 |
yum -y install postgresql95-server |
ユーザ追加
1 2 |
# id postgres # passwd postgres |
追加されたディレクトリの確認
1 2 |
ls /usr/pgsql-9.5 ls /var/lib/pgsql |
postgresqlの初期化
1 2 |
su - postgres /usr/pgsql-9.5/bin/pg_ctl init |
postgresの開始
1 2 3 |
echo $PGDATA /usr/pgsql-9.5/bin/pg_ctl start /usr/pgsql-9.5/bin/psql |
postgresの終了
1 |
/usr/pgsql-9.5/bin/pg_ctl stop |
サービス設定ファイルがあるか確認
1 2 |
-bash-4.2$ ls /usr/lib/systemd/system | grep postgres postgresql-9.5.service |
root権限でsystemctlコマンドを使用してサービスを開始
1 |
sudo systemctl start postgresql-9.5 |
起動時にpostgresが自動的に起動するように設定
1 |
systemctl enable postgresql-9.5 |
サービスの状態確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
service postgresql-9.5 status Redirecting to /bin/systemctl status postgresql-9.5.service ● postgresql-9.5.service - PostgreSQL 9.5 database server Loaded: loaded (/usr/lib/systemd/system/postgresql-9.5.service; disabled; vendor preset: disabled) Active: active (running) since Sun 2016-01-24 02:48:18 JST; 1min 19s ago Process: 6221 ExecStart=/usr/pgsql-9.5/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=0/SUCCESS) Process: 6215 ExecStartPre=/usr/pgsql-9.5/bin/postgresql95-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS) Main PID: 6224 (postgres) CGroup: /system.slice/postgresql-9.5.service tq6224 /usr/pgsql-9.5/bin/postgres -D /var/lib/pgsql/9.5/data tq6225 postgres: logger process tq6227 postgres: checkpointer process tq6228 postgres: writer process tq6229 postgres: wal writer process tq6230 postgres: autovacuum launcher process mq6231 postgres: stats collector process |
ファイアウォールの設定。firewalldを使っているのでそちらを設定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ sudo firewall-cmd --permanent --add-service=postgresql success $ sudo firewall-cmd --reload success $ sudo firewall-cmd --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client http postgresql ssh ports: ****/tcp masquerade: no forward-ports: icmp-blocks: rich rules: |
postgresql.confの編集
1 |
# vi /var/lib/pgsql/9.5/data/postgresql.conf |
以下を追記する
1 |
listen_addresses = '*' |
pg_hba.confの編集
1 |
# vi /var/lib/pgsql/9.5/data/pg_hba.conf |
以下を追記する(外部から直接DBサービスにアクセスできる形になるので注意。ローカルホストのサービスからDB接続できれば良いだけの場合は適切なCIDRを指定してください。)
1 |
host all all 0.0.0.0/0 md5 |
postgresユーザのpostgresqlサービス内でのパスワード設定
1 2 |
/usr/bin/psql # ALTER ROLE postgres password '************'; |
サービスの再起動
1 2 |
# service postgresql-9.5 restart Redirecting to /bin/systemctl restart postgresql-9.5.service |
ポートの待ち状態を確認。5432ポートが空いていればOK
1 |
# ss -ntpa |
あとはpgadmin3等で接続しましょう。