wiki:css/storedprocedure

Version 3 (modified by michkawa, 4 years ago) (diff)

--

CSS 3.2.16 stored procedure 対応版(CSS 3.2.16.1)

CSS 3.2.16の不満に挙げられる最大の問題点は、DataBrowserの動作が遅いことである。
これは、DBのサイズ(件数、ファイル)が大きいのと、検索結果の全データをCSSクライアント側に持ってきてから処理することに起因する。
DBサイズは今のところ解決策がないが、データ転送量は、サーバー側での負担は増えるが、データの最大/最小/平均値をサーバー側で計算して間引くことで減らすことができる。
CSS4.0では対応する全てのDBシステム用のStored Procedure(SQL Function)が用意されているが、CSS 3.2.xの開発中にはPostgreSQLだけ使われていなかったようで未対応だった。(Oracle,MySQLは対応済)
試しにCSS4.0とPostgreSQL9.4で実験してみたところ、データ転送量が劇的に減少したので、CSS4.0からCSS3.2.16へバックマージしたもの作成した。

注意: この機能を使うには、サーバー側DBにstored procedureをインストールする必要がある。

  • stored procedure 対応版(CSS 3.2.16.1 20150330_104909)
Windows 32bit版 css_kek_3.2.16.1-win32.win32.x86_20150330_104909.zip
Windows 64bit版 css_kek_3.2.16.1-win32.win32.x86_64_20150330_104909.zip
Mac OSX 32bit版 css_kek_3.2.16.1-macosx.cocoa.x86_20150330_104909.zip
Mac OSX 64bit版 css_kek_3.2.16.1-macosx.cocoa.x86_64_20150330_104909.zip
Linux 32bit版 css_kek_3.2.16.1-linux.gtk.x86_20150330_104909.zip
Linux 64bit版 css_kek_3.2.16.1-linux.gtk.x86_64_20150330_104909.zip
Source css_kek_3.2.16.1-src_20150330_104909.zip

サーバー側DBの設定

この機能を使うには、サーバー側DBに stored procedure をインストールする必要がある。
DBがPostgreSQL 9.xの場合には、このSQL文を、PostgreSQL8.xの場合には、このSQL文を使用する。

stored procedure インストール

psqlで稼働中のDBに接続する。
この例では、サーバーがpfrproc5(Linux)、ポート番号はデフォルトの5432、DBはPostgreSQL9.4.1を使用する。PostgreSQL8.xはpostgresSQL_procedures.sqlをpostgresSQL_procedures_8x.sqlに読み替える。
stored procedure のファイルを適当なディレクトリにダウンロード。
ファイルをダウンロードしたディレクトリに移動して、以下のコマンドを実行。

[epics@pfrproc5] $ psql archive
psql (9.4.1)
Type "help" for help.

archive=# \i postgresSQL_procedures.sql
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
archive=# \q

クライアント側の設定

クライアント側はデフォルトで対応するように変更済だが、設定の確認をするには、メインメニューからEdit -> Preferences -> CSS Applications -> Trend -> RDB Archive Stored procedure public.get_browser_dataが記述されているかを見ればいい。

この対応版CSSで設定をしたまま、stored procedureに対応していないDBに接続するとデータの取得ができなくなる。
なので、接続するDBは全てこの対応をするか、設定を削除する必要があるので注意。

Attachments (1)

Download all attachments as: .zip