PL/extJavaの作成について説明します。
データベースクラスタの定義を設定します。
postgresql.confファイル内の"listen_addresses"の設定
Javaアプリケーションがデータベースに接続する場合には、ループバックアドレスを使用して接続します。そのため、"listen_addresses"は、localhostからの接続を許可する設定にしてください。
参照
詳細については、“PostgreSQL文書”の“サーバの管理”の“接続と認証”を参照してください。
データベースに接続するユーザーの追加
Javaアプリケーションは、データベースにアクセスする場合、JDBCコネクションプールを利用します。
CREATE USER文を使用して、データベースに接続するユーザーを追加してください。追加したユーザー名は、コンテナを作成するときに指定します。
例
ユーザー名が「user01」の場合
db01=# create user user01;
pg_hba.conf ファイルの設定
Javaアプリケーションからデータベースへローカルで接続します。ローカル接続を許可する設定にしてください。
パラメータ名 | パラメータの設定値 |
---|---|
TYPE | host |
DATABASE | Javaアプリケーションが接続するデータベース名 |
USER | Javaアプリケーションがデータベースに接続するときに使用するユーザー名 |
ADDRESS | 127.0.0.1/32 |
AUTH-METHOD | trust認証以外を推奨 |
参照
詳細については、“PostgreSQL文書”の“サーバの管理”の“pg_hba.confファイル”を参照してください。
postgresql.conf ファイル内の "max_connections"の設定
Symfoware Server Java アプリケーションサーバからデータベースに接続するときに使用する以下の接続数を、既存のmax_connectionsに加算してください。
サーバインスタンス(JavaVM)数×64
参照
詳細については、“導入ガイド(サーバ編)”の“リモート接続の設定”を参照してください。
コンテナは、Java関数を利用するデータベースクラスタ内のデータベースに対して1個作成します。
コンテナを作成すると、コンテナ内に1個のサーバインスタンス(JavaVM)が同時に作成されます。また、JavaアプリケーションからデータベースにアクセスするためのJDBCコネクションプールやデータソースの設定も行われます。なお、サーバインスタンス(JavaVM)名は、"データベース名-通番"となります。サーバインスタンス(JavaVM)名は、pgx_jadminコマンドのlist-containerサブコマンドで確認できます。
参照
list-containerサブコマンドの詳細は、“リファレンス”の“pgx_jadmin”を参照してください。
インスタンスの停止
インスタンスを停止します。
停止方法については、“2.1 インスタンスの起動と停止”を参照してください。
インスタンスの停止に失敗した場合は、“8.11 インスタンス停止失敗時の対処”を参照してください。
コンテナの作成
pgx_jadminコマンドのcreate-containerサブコマンドにより、コンテナを作成します。データベース接続に必要な情報は、後から変更することもできます。
例
> pgx_jadmin create-container --dbname db01 --dbuser user01 --dbpassword password1 --instanceport 26531,26532
参照
create-containerサブコマンドの詳細は、“リファレンス”の“pgx_jadmin”を参照してください。
サーバインスタンス(JavaVM)の追加
Javaアプリケーションを同時に65個以上実行したい場合、必要数分のサーバインスタンス(JavaVM)を追加してください。
サーバインスタンス(JavaVM)の追加方法は、“7.3.3.1 サーバインスタンス(JavaVM)の追加と削除”を参照してください。
インスタンスの起動
インスタンスを起動してください。
起動方法については、“2.1 インスタンスの起動と停止”を参照してください。
インスタンスの起動に失敗した場合は、“8.10 インスタンス起動失敗時の対処”を参照してください。
PL/extJava拡張のインストール
CREATE EXTENSION文を実行してPL/extJavaの拡張をインストールします。
db01=# CREATE EXTENSION plextjavau;