2019-06-26 postgresql
あとで必要になりそうなのでメモ。ここの手順を参考。
https://www.postgresql.org/download/linux/redhat/
インストール。
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql11 postgresql11-server
DB初期化と自動起動設定。
/usr/pgsql-11/bin/postgresql-11-setup initdb
systemctl enable postgresql-11
systemctl start postgresql-11
DB初期化時に postgres というユーザが作成されるのでパスワードを設定して postgres ユーザでログイン。
passwd postgres
(パスワードを入力。ここでは postgres と入力)
su - postgres
psql を実行してログイン。
psql
他のユーザを作成。とりあえず dbuser を作成していったんログアウト。
create role dbuser login createdb password 'dbuser';
\q
exit
dbuser でログインできるよう、pg_hba.conf を修正してリロード。
vim /var/lib/pgsql/11/data/pg_hba.conf
local all all peer
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
↓
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
systemctl reload postgresql-11
ユーザ名を指定してログイン可能か確認。
psql -U dbuser -d postgres
このままだと postgres ユーザで認証できなくなってしまうので一旦全てtrust に変更して postgres ユーザでログイン。
vim /var/lib/pgsql/11/data/pg_hba.conf
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
↓
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
systemctl reload postgresql-11
postgres でログインしてパスワードを md5 形式に変更
psql -U postgres
ALTER USER postgres with encrypted password 'postgres';
\q
trust → md5 に戻してリロード
vim /var/lib/pgsql/11/data/pg_hba.conf
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
↓
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
systemctl reload postgresql-11
posgres ユーザでパスワードログインできるか確認。
psql -U postgres
dbuser用データベースを作成して終了。
create database dbuser with owner=dbuser;
\q
dbuser で接続できるか確認。
psql -U dbuser