デフォルト状態のPostgreSQLではヒント句が使えません!有効化する方法をTipsとして掲載しています。すでに有効化済みだよ!の方へのTipsもあります。
すでに有効化済みの方はこちら
すでにpg_hint_planを有効化しているのに使えない!という方はこちらの記事へどうぞ
SQLの書き方で使えないケースがあるので、参考にしてみてください
RDSでのpg_hint_planの有効化方法
ここから本題です。
AWSのRDSでPostgreSQLを使用する場合、デフォルト構成ではヒント句が使えませんが、簡単なコマンドで有効化できます
まずは拡張機能の状態から、pg_hint_planが有効化されているかを確認しましょう。
初期状態の場合は、下記のようにpg_hint_planはありません。
postgres=> SELECT * FROM pg_extension;
oid | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+---------+----------+--------------+----------------+------------+-----------+--------------
14287 | plpgsql | 10 | 11 | f | 1.0 | |
(1 行)
では、pg_hint_planを有効化します。
PostgreSQLの拡張機能有効化は「CREATE EXTENSION XXXX」で出来ます。
postgres=> CREATE EXTENSION pg_hint_plan;
CREATE EXTENSION
postgres=> SELECT * FROM pg_extension;
oid | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+--------------+----------+--------------+----------------+------------+---------------+--------------
14287 | plpgsql | 10 | 11 | f | 1.0 | |
16403 | pg_hint_plan | 10 | 16402 | f | 1.3.7 | {16406,16404} | {"",""}
(2 行)
どうでしょう?簡単なコマンドで有効化できました。
こちらには、拡張機能有効後にヒント句を使うときに注意すべき点を書いていますのでチェックしてみてください。
コメント