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

2.2.75 インデックス内で使用される複合型が変更できないように変更

非互換

インデックス内で使用される複合型の変更をエラーにします。

Fujitsu Enterprise Postgres 15以前の場合
CREATE TYPE test_type1 AS (a int, b text);
CREATE TYPE
CREATE TABLE test_tbl1 (x int, y test_type1);
CREATE TABLE
ALTER TYPE test_type1 ALTER ATTRIBUTE b TYPE varchar;
ALTER TYPE
DROP TABLE test_tbl1;
DROP TABLE
CREATE TABLE test_tbl1 (x int, y text);
CREATE TABLE
CREATE INDEX test_tbl1_idx ON test_tbl1((row(x,y)::test_type1));
CREATE INDEX
ALTER TYPE test_type1 ALTER ATTRIBUTE b TYPE varchar;
ALTER TYPE
DROP TABLE test_tbl1;
DROP TABLE
DROP TYPE test_type1;
Fujitsu Enterprise Postgres 16の場合
CREATE TYPE test_type1 AS (a int, b text);
CREATE TYPE
CREATE TABLE test_tbl1 (x int, y test_type1);
CREATE TABLE
ALTER TYPE test_type1 ALTER ATTRIBUTE b TYPE varchar;
ERROR:  cannot alter type "test_type1" because column "test_tbl1.y" uses it
DROP TABLE test_tbl1;
DROP TABLE
CREATE TABLE test_tbl1 (x int, y text);
CREATE TABLE
CREATE INDEX test_tbl1_idx ON test_tbl1((row(x,y)::test_type1));
CREATE INDEX
ALTER TYPE test_type1 ALTER ATTRIBUTE b TYPE varchar;
ERROR:  cannot alter type "test_type1" because column "test_tbl1_idx.row" uses it
DROP TABLE test_tbl1;
DROP TABLE

対処方法

ありません。