PostgreSQLの実行計画で利用する統計情報を固定化して実行計画を制御するツール
pg_dbms_stats13 から、pg_dbms_stats は Github に移行しました。 これ以降のバージョンに関する情報は Github を参照してください。 pg_dbms_stats12 以前に関する情報は OSDN を参照してください。
pg_dbms_stats : https://github.com/ossc-db/pg_dbms_stats
Bug fix release of pg_dbms_stats.
pg_dbms_stats 1.3.8 and earlier does not work correctly with PostgreSQL minor versions 9.2.21, 9.3.17. 9.4.12, 9.5.7, 9.6.3, 10.0 and later, after a security fix of PostgreSQL (CVE-2017-7484). It behaves as if there is no statistics at all for "locked" tables and even not use the real statistics when pg_dbms_stats.use_locked_stats is on for the PG versions above. This release version works without the problem for all minor versions of PostgreSQL including the above problematic versions.
pg_dbms_stats 1.3.8 and earlier have no problem for the earlier PostgreSQL versions than listed above.
For those who want to build by themselves, pg_dbms_stats 1.3.9 must be built for the PG versions above so that the bug is fixed and the built binaries works for all minor versions of the build target version of PostgreSQL.
pg_dbms_stats のバグ修正リリースです。
pg_dbms_stats 1.3.8 とそれ以前のバージョンは PostgreSQL 9.2.21, 9.3.17. 9.4.12, 9.5.7, 9.6.3, 10.0 とそれ以降のマイナーバジョンで正しく動作しません。これは PostgreSQL のセキュリティ修正(CVE-2017-7484) の影響ですが、これらの環境で pg_dbms_stats.use_locked_stats を on にすると、統計情報をロックしたテーブルのダミー統計情報が無視されるだけではなく、本来の統計情報も使われず統計情報が全く存在しないかのように振る舞います。このリリースバージョンは、問題が起きる上記のバージョンを含めて全てのPostgreSQL のマイナーバージョンで上記の問題無しで動作します。
pg_dbms_stats 1.3.8 以前のバージョンでも上記のマイナーバージョン以前の PostgreSQL 上では正しく動作します。
自分でソースからコンパイルする場合にこのバグ修正を有効にするには 、pg_dbms_stats 1.3.9 を上記のマイナーバジョン以降の PostgreSQL をターゲットにしてコンパイルする必要があります。出来上がったバイナリはターゲットのメジャーバージョンの全てのマイナーバジョンで正しく動作します。