

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# STV\_BLOCKLIST
<a name="r_STV_BLOCKLIST"></a>

STV\_BLOCKLIST には、データベース内の各スライス、テーブル、または列で使用される 1 MB ディスクブロックの数が表示されます。

データベース、テーブル、または列ごとに割り当てられている 1 MB ディスクブロックの数を調べるには、以下の例に示すように、STV\_BLOCKLIST で集計クエリを使用します。または [STV\_PARTITIONS](r_STV_PARTITIONS.md) を使用して、ディスク利用に関する概要を見ることができます。

STV\_BLOCKLIST はスーパーユーザーのみに表示されます。詳細については、「[システムテーブルとビューのデータの可視性](cm_chap_system-tables.md#c_visibility-of-data)」を参照してください。

**注記**  
 STV\_BLOCKLIST は、プロビジョニングされたクラスターまたはサーバーレス名前空間が所有するブロックのみを記録します。データベースにデータ共有プロデューサーから共有されたブロックが含まれている場合、それらのブロックは STV\_BLOCKLIST に含まれません。データ共有に関する詳細については、「[Amazon Redshift でのデータの共有](datashare-overview.md)」を参照してください。

## テーブルの列
<a name="r_STV_BLOCKLIST-table-columns"></a>


| 列名  | データ型  | 説明  | 
| --- | --- | --- | 
| slice  | integer  | ノードスライス。 | 
| col  | integer  | 列のゼロベースインデックス。作成するテーブルにはすべて、3 つの非表示列 (INSERT\_XID、DELETE\_XID、ROW\_ID (OID) ) が追加されます。例えばユーザー定義列が 3 つあるテーブルには、実際には 6 つの列が含まれます。ユーザー定義列の初期番号は 0、1、2 です。その場合、INSERT\_XID、DELETE\_XID、および ROW\_ID 列はそれぞれ、3、4、および 5 となります。 | 
| tbl  | integer  | データベーステーブルのテーブル ID。 | 
| blocknum  | integer  | データブロックの ID。 | 
| num\_values  | integer  | ブロックに含まれる値の数。 | 
| extended\_limits  | integer  | 内部使用を目的とします。 | 
| minvalue  | bigint  | ブロックの最小値。数値以外のデータの場合、最初の 8 文字を 64 ビット整数として格納します。ディスクスキャンに使用されます。 | 
| maxvalue  | bigint  | ブロックの最大値。数値以外のデータの場合、最初の 8 文字を 64 ビット整数として格納します。ディスクスキャンに使用されます。 | 
| sb\_pos  | integer  | ディスクのスーパーブロックの位置の内部 Amazon Redshift 識別子。 | 
| pinned  | integer  | 事前ロードの一環としてブロックをメモリにピンするかどうかを示します。0 = false、1 = true。デフォルトは false です。 | 
| on\_disk  | integer  | ブロックを自動的にディスクに保存するかどうかを示します。0 = false、1 = true。デフォルトは false です。 | 
| modified  | integer  | ブロックが修正されたかどうかを示します。0 = false、1 = true。デフォルトは false です。 | 
| hdr\_modified  | integer  | ブロックヘッダーが修正されたかどうかを示します。0 = false、1 = true。デフォルトは false です。 | 
| unsorted  | integer  | ブロックが未ソートかどうかを示します。0 = false、1 = true。デフォルトは true です。 | 
| tombstone  | integer  | 内部使用を目的とします。 | 
| preferred\_diskno  | integer  | ディスクにエラーがない場合に、ブロックが存在すべきディスクの番号。ディスクが修正されると、ブロックがそのディスクに戻されます。 | 
| temporary  | integer  | ブロックに、一時テーブルやクエリの中間結果などの一時データが含まれているかどうかを示します。0 = false、1 = true。デフォルトは false です。 | 
| newblock  | integer  | ブロックが新しい (true) かまたは一度もディスクにコミットされていない (false) かを示します。0 = false、1 = true。 | 
| num\_readers  | integer  | 各ブロックの参照数。 | 
| flags  | integer  | ブロックヘッダーの内部 Amazon Redshift フラグ。 | 

## サンプルクエリ
<a name="r_STV_BLOCKLIST-sample-queries"></a>

STV\_BLOCKLIST には、割り当てられたディスクブロックごとに行が 1 つ含まれるため、すべての行を選択するようなクエリを実行すると、非常に多くの行が返される可能性があります。STV\_BLOCKLIST では集計クエリのみを使用することをお勧めします。

[SVV\_DISKUSAGE](r_SVV_DISKUSAGE.md) ビューには同様の情報が見やすい形式で表示されますが、以下の例では STV\_BLOCKLIST テーブルの利用方法の 1 つを示します。

VENUE テーブル内の各列で使用されている 1 MB ブロックの数を調べるには、以下のクエリを使用します。

```
select col, count(*)
from stv_blocklist, stv_tbl_perm
where stv_blocklist.tbl = stv_tbl_perm.id
and stv_blocklist.slice = stv_tbl_perm.slice
and stv_tbl_perm.name = 'venue'
group by col
order by col;
```

このクエリは、VENUE テーブル内の各列に割り当てられている 1 MB ブロックの数を返します。例: 

```
 col | count
-----+-------
   0 |  4
   1 |  4
   2 |  4
   3 |  4
   4 |  4
   5 |  4
   7 |  4
   8 |  4
(8 rows)
```

以下のクエリは、テーブルデータが実際に全スライスに配分されているかどうかを示します。

```
select trim(name) as table, stv_blocklist.slice, stv_tbl_perm.rows
from stv_blocklist,stv_tbl_perm
where stv_blocklist.tbl=stv_tbl_perm.id
and stv_tbl_perm.slice=stv_blocklist.slice
and stv_blocklist.id > 10000 and name not like '%#m%'
and name not like 'systable%'
group by name, stv_blocklist.slice, stv_tbl_perm.rows
order by 3 desc;
```

このクエリは、以下のような出力を返します。出力には、最も多くの行を含む表に対する均等なデータ配分が表示されています。

```
table   | slice | rows
----------+-------+-------
listing  |    13 | 10527
listing  |    14 | 10526
listing  |     8 | 10526
listing  |     9 | 10526
listing  |     7 | 10525
listing  |     4 | 10525
listing  |    17 | 10525
listing  |    11 | 10525
listing  |     5 | 10525
listing  |    18 | 10525
listing  |    12 | 10525
listing  |     3 | 10525
listing  |    10 | 10525
listing  |     2 | 10524
listing  |    15 | 10524
listing  |    16 | 10524
listing  |     6 | 10524
listing  |    19 | 10524
listing  |     1 | 10523
listing  |     0 | 10521
...
(180 rows)
```

以下のクエリは、廃棄されたブロックの中に、ディスクにコミットされていたものがあるかどうかを返します。

```
select slice, col, tbl, blocknum, newblock
from stv_blocklist
where  tombstone > 0;

slice | col |   tbl  | blocknum | newblock
-------+-----+--------+----------+----------
4     |  0  | 101285 |    0     |   1
4     |  2  | 101285 |    0     |   1
4     |  4  | 101285 |    1     |   1
5     |  2  | 101285 |    0     |   1
5     |  0  | 101285 |    0     |   1
5     |  1  | 101285 |    0     |   1
5     |  4  | 101285 |    1     |   1
...
(24 rows)
```