ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.3.209 CREATE TABLE文 のLIKE句オプション INCLUDING ALL 指定の動作変更

非互換

FUJITSU Enterprise Postgres 11では、CREATE TABLE文のLIKE句オプションにてINCLUDING ALLを指定した場合、コピー元テーブルの拡張統計情報(STATISTICS)もコピーするように変更します。

FUJITSU Enterprise Postgres 10以前の場合

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)
FUJITSU Enterprise Postgres 11の場合

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を指定せずにコピーする属性を個別に指定してください。