おおむね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
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のまま動かすことにした。
マニュアルに書いてある通りでよい。
# 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
(念のため確認)
$ /usr/edb/as10/bin/edb-psql -U enterprisedb edb
ローカルからのアクセス時にパスワード認証できるようにするため、まずはデフォルトの管理者であるenterprisedbユーザに パスワードを設定する。
edb=# alter user enterprisedb password = 'xxxxxxxx';
/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
# systemctl restart edb-as-10
管理者以外のユーザを作る。
create user appuser password 'xxxxxxxx';
create databae appdb owner appuser encoding UTF8;
以下の通り入力すると、パスワードを聞かれる。
$ edb-psql -U appuser appdb