• R/O
  • HTTP
  • SSH
  • HTTPS

pg_hint_plan: Commit

firtst release


Commit MetaInfo

Revision84cac9472489388ccd4ae9abc3b5b51a6beeded5 (tree)
Time2013-08-30 18:15:29
AuthorTakashi Suzuki <suzuki.takashi@metr...>
CommiterTakashi Suzuki

Log Message

ヒント用テーブルの更新の制限について、文章をよりわかりやすくした。

Change Summary

Incremental Difference

--- a/doc/pg_hint_plan-ja.html
+++ b/doc/pg_hint_plan-ja.html
@@ -121,7 +121,6 @@ postgres=#
121121 </table>
122122 <p>ヒントの登録情報を変更する場合は、変更したい登録情報のidを指定して登録情報を更新してください。</br>
123123 ヒントの登録を解除する場合は、解除したい登録情報のidを指定してテーブルから削除してください。</p>
124-<p>なお、ヒントの登録、変更、解除はスーパーユーザにしかできません。</p>
125124 <p>以下の例では、ヒントの登録、ヒント登録情報の変更、ヒントの解除の順に、クエリの実行結果を示しています。
126125 </p>
127126 <pre>
@@ -141,6 +140,18 @@ postgres-# WHERE id = 1;
141140 DELETE 1
142141 postgres=#
143142 </pre>
143+<p>なお、ヒントの登録や変更や解除はスーパーユーザでのみ可能です。一般ユーザでヒントの登録や変更や解除を実施したい場合は、スーパーユーザから一般ユーザにhint_plan.hintsテーブルの各権限を付与してください。</p>
144+<p>以下の例では、hint_plan.hintsテーブルに対してINSERT権限を持たない一般ユーザがヒントの登録を実施しようとしたときの結果を示しています。</p>
145+<pre>
146+postgres=> INSERT INTO hint_plan.hints(norm_query_string, application_name, hints)
147+postgres-> VALUES (
148+postgres(> 'EXPLAIN (COSTS false) SELECT * FROM t1 WHERE t1.id = ?;',
149+postgres(> '',
150+postgres(> 'SeqScan(t1)'
151+postgres(> );
152+ERROR: permission denied for relation hints
153+postgres=>
154+</pre>
144155 <p>以下の例では、テーブルに登録した「コメントでの指定」の例と同じヒントと、登録したクエリの実行結果を示しています。</p>
145156 <pre>
146157 postgres=# SELECT * FROM hint_plan.hints;
Show on old repository browser