OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

プロシージャの作成

公開日:
更新日:
基本操作
#プロシージャ

プロシージャ作成

Verticaのプロシージャは、シェルで作成したプログラムを実行することが可能です。

【概要図】
プロシージャ”proc1″からシェルスクリプト”a.sh”を実行します。

proc2

【作成手順と実行方法】

プロシージャの作成方法を以下に記載します。

1.シェルに権限を付与します。

シェルスクリプトに以下の権限を付与します。
・ユーザに実行権限とセットID
・グループに実行権限

■シェルスクリプトの確認
$ cat a.sh
#!/bin/sh
echo "Procedure Test"  <== "Procedure Test"を表示する

■権限付与
$ chmod u+xs,g+x a.sh
$ ls -l a.sh
-rwsrwxrw- 1 dbadmin verticadba 20  9月  3 20:11 2015 a.sh

2.シェルスクリプトを指定してVerticaのカタログに配置します。

2-1. admintoolsを起動して「Configuration Menu」を選択します。

stp1


2-2.「Install External Procedure」を選択します。

stp2


2-3.対象データベースを選択します。

stp3


2-4.シェルスクリプトを指定します。

stp4


2-5.正常終了したことを確認します。

stp5

これで、/<カタログディレクトリ>/<データベース>/procedure にシェルスクリプトが配置されます。

3.プロシージャの作成

構文
create procedure <プロシージャ名>(<引数>) as ‘<シェルスクリプト名>‘ language ‘external’ user ‘OSユーザ名’;
※OSユーザ名はシェルスクリプトのOWNER

dbadmin=> create procedure proc1() as 'a.sh' language 'external' user 'dbadmin';
CREATE PROCEDURE

4.プロシージャの実行

プロシージャをselectで実行します。

dbadmin=> select proc1();
INFO 4427:  Procedure reported:
Procedure Test <== シェルのechoが表示されます

5.プロシージャの削除

プロシージャの削除は、プロシージャ名と引数を指定します。

dbadmin=> drop procedure proc1();
DROP PROCEDURE

※プロシージャを削除することでシェルスクリプトの削除はされません。

検証バージョンについて

この記事の内容はVertica 9.1で確認しています。