これはPGroonga 2.0.0以降用のドキュメントです。PGroonga 1.Xを使っているならPGroonga 1.Xのドキュメントを見てください。
GRANT USAGE ON SCHEME pgroongapgroongaスキーマは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)