PostgreSQL 9.6 - システムカタログの差分
今度は、9.5と9.6のシステムカタログの差分を見てみる。
PostgreSQLの場合、特にDDLの追加や変更があった場合、必ずと言っていいほどシステムカタログに変更がある。裏を返せば、シスタムカタログの変更から、どんな機能追加があったのかを推測することもできる。
(まあ、リリースノート見たほうが早いのだけど)
調べ方
PostgrerSQL 9.5とPostgreSQL 9.6 beta1を起動して、PostgreSQL 9.6 beta1 のpsqlから
psql postgres -q -c "\d pg_*" > ファイル名
でファイルを生成。そのファイルのdiffを取る。シンプル。
システムカタログの差分
テーブル/ビュー名 | 変更種別 | 変更内容 | ぬこメモ |
---|---|---|---|
pg_aggregate | 列の追加 | aggcombinefn, aggserialfn, aggdeserialfn, aggserialtype の追加 | パラレル集約の関係?要調査 |
pg_am | 全面変更 | 個々のアクセスメソッド用フラグが消えて、ハンドラ関数ポインタに置き換わったみたい。 | インデックスのサポート能力ってSQLからどうやって見ればいいのだろう。 |
pg_config | カタログの追加 | pg_config相当の情報 | リモートからconfigが参照可能になったってことだね。 |
pg_init_privs | カタログの追加 | システム内オブジェクトの初期権限管理用のカタログ? | 普段使うものではない?要調査 |
pg_proc | 列の追加 | proparallelの追加 | 名前からすると、関数が並列処理に対応するかどうかのフラグ?CREATE FUNCTIONに影響あるのかな。 |
pg_replication_slots | 列の追加 | confirmed_flush_lsn の追加。 | ロジカルレプリケーション利用者が受信した場所を示す列かな。 |
pg_stat_activity | 列の変更 | waitingがwait_event_typeとwait_eventに分離したみたい。 | 監視方式にも影響でるのかな? |
pg_stat_progress_vacuum | カタログの追加 | VACUUM処理進捗表示のためのカタログ | PostgreSQL: Documentation: 9.6: Progress Reportingを見ればいいのだな。 |
pg_stat_wal_receiver | カタログの追加 | 名前のとおり、wal recieverの挙動に関する稼働統計情報かな。 | これを使うと、どういう監視が出来るようになるのかなあ。 |
システムカタログも結構変更が入っているな。
- pg_am(インデックスアクセスメソッド)の詳細が見れなくなってる・・・どうやって見ればいいんだろうな。
- pg_configの追加なんかは、ベンチマーク測定時の環境情報取得時に、ちょい楽になりそう。