これはPGroonga 2.X and 3.X用のドキュメントです。古いPGroongaを使っているならPGroonga 1.xのドキュメントを見てください。
GRANT USAGE ON SCHEME pgroonga
pgroonga
スキーマは2.0.0から非推奨です。新しく書くコードではpgroonga
スキーマではなくカレントスキーマに定義されているpgroonga_*
関数・演算子・演算子クラスを使ってください。
PGroongaはpgroonga
スキーマに関数・演算子・演算子クラスなどを定義します。デフォルトではスーパーユーザーしかpgroonga
スキーマの機能を使えません。スーパーユーザーはPGroongaを使いたいすべての一般ユーザーにpgroonga
スキーマのUSAGE
権限を与えなければいけません。
このドキュメントは一般ユーザーにpgroonga
スキーマのUSAGE
権限を与える方法を説明します。
最初にCREATE USER
で一般ユーザーalice
を作成します。<
CREATE USER alice;
この時点では、一般ユーザーalice
はpgroonga
スキーマのどのオブジェクトにもアクセスできません。例えば、alice
はpgroonga.snippet_html
関数を使うことができません。
SELECT pgroonga.snippet_html('PGroonga is fast', Array['fast']);
-- ERROR: permission denied for schema pgroonga
-- LINE 1: SELECT pgroonga.snippet_html('PGroonga is fast', Array['fast...
-- ^
alice
にpgroonga
スキーマのUSAGE
権限を与える必要があります。
pgroonga
スキーマのUSAGE
権限を与えるGRANT
を使って一般ユーザーalice
にpgroonga
スキーマのUSAGE
権限を与えることができます。
GRANT USAGE ON SCHEMA pgroonga TO alice;
これでalice
はpgroonga
スキーマのすべての機能を使えるようになりました。例えば、alice
はpgroonga.snippet_html
関数を使うことができます。
SELECT pgroonga.snippet_html('PGroonga is fast', Array['fast']);
-- snippet_html
-- -----------------------------------------------------
-- {"PGroonga is <span class=\"keyword\">fast</span>"}
-- (1 row)