Skip to content

Instantly share code, notes, and snippets.

@kazusato
Last active July 28, 2018 01:33
Show Gist options
  • Save kazusato/5a5e8e78b5a24d512f531a0722caf16c to your computer and use it in GitHub Desktop.
Save kazusato/5a5e8e78b5a24d512f531a0722caf16c to your computer and use it in GitHub Desktop.

CentOS7へのざっくり導入手順

おおむね3.1 Installing an RPM Package に書かれている通りだが、事前にEPELを有効にしておく必要があった。

# yum update
# yum install -y https://yum.enterprisedb.com/edbrepos/edb-repo-latest.noarch.rpm
# vi /etc/yum.repo.d/edb.repo
# ... enable and update username/password for edbas10, enterprisedb-tools and enterprisedb-dependencies
# yum install -y epel-release
# yum install -y edb-as10

initdb~systemctl start

initdb

EDB ASをOracle Database互換モードで動かすためには、initdb時に--redwood-likeオプションをつける必要がある。 マニュアルを見ても、initdb時のオプション付与方法がわからなかったので(RHEL/CentOS6向けのみ書かれている) /usr/edb/as10/bin/edb-as-10-setupスクリプトを見て方法を確認した。

今回はスクリプトのコードを直接読んだが、スクリプトをオプションなしで実行するとヘルプとして必要な情報が 表示される。

# /usr/edb/as10/bin/edb-as-10-setup
(オプションを確認)
# PGSETUP_INITDB_OPTIONS=--redwood-like /usr/edb/as10/bin/edb-as-10-setup initdb

※本当は、この時にPGDATAを/dataにするつもりだったが、思ったように設定できなかったので、 いったんはデフォルトの/var/lib/edb/as10/dataのまま動かすことにした。

systemctl

マニュアルに書いてある通りでよい。

# cp /usr/lib/systemd/system/edb-as-10.service /etc/systemd/system
# systemctl daemon-reload
# systemctl enable edb-as-10
(これはマニュアルに書いてないが)
# systemctl start edb-as-10
# systemctl status edb-as-10
(念のため確認)

edb-psqlでの接続

$ /usr/edb/as10/bin/edb-psql -U enterprisedb edb

create user〜create database

ローカルからのアクセス時にパスワード認証できるようにするため、まずはデフォルトの管理者であるenterprisedbユーザに パスワードを設定する。

enterprisedbユーザのパスワード設定

edb=# alter user enterprisedb password = 'xxxxxxxx';

pg_hba.confファイルの修正

/var/lib/edb/as10/data/pg_hba.confを修正する(正確には$PGDATA/pg_hba.conf)。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
↓
#local   all             all                                     peer
local   all             all                                     md5

pg_hba.confは同じ条件(local all all)の認証方法を複数していできないらしく、2行設定しても 最初にマッチしたものが使われてしまう。enterprisedbユーザだけpeer認証を継続するという形は可能で、 以下のように設定すればよい。

#local   all             all                                     peer
local   all             enterprisedb                                     peer
local   all             all                                     md5

DB再起動

# systemctl restart edb-as-10

create user

管理者以外のユーザを作る。

create user appuser password 'xxxxxxxx';

create database

create databae appdb owner appuser encoding UTF8;

作成したデータベースに接続

以下の通り入力すると、パスワードを聞かれる。

$ edb-psql -U appuser appdb

参考資料

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment