非互換
FUJITSU Enterprise Postgres 11では、CREATE TABLE文のLIKE句オプションにてINCLUDING ALLを指定した場合、コピー元テーブルの拡張統計情報(STATISTICS)もコピーするように変更します。
INCLUDING ALL を指定しても、コピー元テーブルに設定された拡張統計情報(STATISTICS)はコピーしません。
[例]
=# \d t1 テーブル "public.t1" 列 | 型 | 照合順序 | Null 値を許容 | デフォルト -----+---------+----------+---------------+------------ c1 | integer | | not null | c2 | integer | | | インデックス: "t1_pkey" PRIMARY KEY, btree (c1) 統計オブジェクト: "public"."statistics_t1" (ndistinct, dependencies) ON c1, c2 FROM t1 =# =# CREATE TABLE t2 (LIKE t1 INCLUDING ALL); CREATE TABLE =# \d t2 テーブル "public.t2" 列 | 型 | 照合順序 | Null 値を許容 | デフォルト -----+---------+----------+---------------+------------ c1 | integer | | not null | c2 | integer | | | インデックス: "t2_pkey" PRIMARY KEY, btree (c1)
INCLUDING ALL を指定した場合、コピー元テーブルに設定された拡張統計情報(STATISTICS)もコピーします。
[例]
=# \d t1 テーブル "public.t1" 列 | 型 | 照合順序 | Null 値を許容 | デフォルト -----+---------+----------+---------------+------------ c1 | integer | | not null | c2 | integer | | | インデックス: "t1_pkey" PRIMARY KEY, btree (c1) 統計オブジェクト: "public"."statistics_t1" (ndistinct, dependencies) ON c1, c2 FROM t1 =# =# CREATE TABLE t2 (LIKE t1 INCLUDING ALL); CREATE TABLE =# \d t2 テーブル "public.t2" 列 | 型 | 照合順序 | Null 値を許容 | デフォルト -----+---------+----------+---------------+------------ c1 | integer | | not null | c2 | integer | | | インデックス: "t2_pkey" PRIMARY KEY, btree (c1) 統計オブジェクト: "public"."t2_c1_c2_stat" (ndistinct, dependencies) ON c1, c2 FROM t2
対処方法
テーブルコピー時に拡張統計情報をコピーしたくない場合は、LIKE句オプションにてINCLUDING ALLを指定せずにコピーする属性を個別に指定してください。