PostgreSQLの実行計画で利用する統計情報を固定化して実行計画を制御するツール
pg_dbms_stats13 から、pg_dbms_stats は Github に移行しました。 これ以降のバージョンに関する情報は Github を参照してください。 pg_dbms_stats12 以前に関する情報は OSDN を参照してください。
pg_dbms_stats : https://github.com/ossc-db/pg_dbms_stats
* Fixed a bug that relation ids which are the keys for the relation statistics cache was mistakenly treated as strings. This causes a false match between oids having a intermediate 0x00 byte and identical lower bytes (for the little endian case). Returning the wrong statistics cache can result in server crash, or at least unexpected plans.
* Lock granurality for pg_dbms_stats's operations was raised. Simultaneous lock operations on different tables no longer block each other.
* 内部の統計情報キャッシュのキーであるリレーションIDのハッシュを文字列として算出していたバグを修正しました。このにより中に"0x00"のバイトを持ち、下位バイト(リトルエンディアンの場合)が一致する複数のOIDが間違って一致しているものとしてわれる可能性がありました。これによって間違ったテーブルの統計情報が返却された場合には、クラッシュするか最低でも間違ったプランが選択される可能性があります。
* pg_dbms_stats の操作におけるロックの粒度を細かくしました。これによって異なるテーブルに対する複数のロック操作は互いにブロックしなくなります。