こんな感じです。クラスター(データ用ディレクトリ)1つが postmaster 1つと対応します。
postmaster を複数駆使することで、複数のクラスターを管理できますが、1つのpostmaster
でも複数のデータベースを管理できるので、特殊な事情がない限りは1つだけにしておきましょう。
JDBC等が接続するのは、データベースの単位です。Apache のバーチャルドメインのようなもの、です。
次の2.1~2.5 PostgreSQLのインストール
では、クラスター部分まで作成します。次にユーザーを作成し、ユーザーの権限でデータベースを作成していきます。
OpenSSLのセキュリティFixが2003.9.30にでています。OpenSSL付きでインストールした場合はPostgreSQLも再構築が必要かもしれません。
VineLinux にもとから入っている PostgreSQL は、EUC_JPで initdb まで完了したもののようです。たぶん。
VineLinux 2.6 には、 PostgreSQL 7.2.3 が入っていました。
データ用のディレクトリ($PG_DATA)は、 /var/lib/pgsql/data かもしれません。
/etc/rc.d/init.d/pgsql でstart stop
ができます。最初に実行すると、initdbを実行し、初期設定までしてくれます。
参考
PostgreSQL には、それ専用のユーザ管理がされているので、PostgreSQLのユーザをつくる必要があります。
最初は postgres というユーザがあるかもしれません。
Linux/UNIXのユーザ名 postgres でコマンドを実行すれば、PostgreSQLの対応するユーザー postgres
でコマンドが実行されるので、管理するときはユーザー postgres で実行しましょう。
ユーザをつくるコマンドは createuser です。まずは自分用のアカウントから作ってみましょう。
# su - postgres
$ createuser username
または
$ createuser username -U postgres
いろいろ聞いてくるので、答えていけばOKです。
データベースを作れるようにするか? とか 別のユーザを作れるようにするか? というようなことを聞いてきます。
postgres ユーザー以外に自分のユーザー権限でも管理したい場合は、どちらもyと答えておけばいいでしょう。
ユーザが作れたら、UNIXの postgres ユーザーはしばらく必要ないので自分のユーザに戻して続きをしましょう。
ユーザ、データベースを作ったら、次はパスワードを設定します。
初期状態ではパスワードなしでもアクセスできるのですが、このままでは危険なので、あとからパスワードがないとアクセスできないように設定します。
psql コマンドでデータベースに入り、次のコマンドでパスワードを変更できます。
alter user username password 'password';
(予定)
インターネットに公開しているサーバなどなどに置く場合、外からデータベースが丸見え、なんていうのでは嫌ですからね。
PostgreSQL では、$PG_DATA ディレクトリ内のpg_hba.conf というファイルを設定することでアクセス制限が可能です。
その他にも ipchains、iptables 等の各種設定をしておきましょう。postmaster が -i
オプションを付けたときに使っているポート番号は 5432 です。
pg_hba.conf には、次のような行をつくります。
いつからかわかりませんが、認証プロトコルにmd5
が追加されているようです。7.2以前の古いjavaクライアントはmd5に対応していないようなので crypt または password
にすることもできます。
local all md5 host all 127.0.0.1 255.255.255.255 md5 host all 192.168.0.0 255.255.255.0 md5
# 管理者用のパスワードを設定後に、この項目を変更しないといけません。
参考
SQLの入門からすればいいかな? 省略?
[JDBC]へ
参考