

 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에는 데이터베이스에서 각 조각, 테이블 또는 열마다 사용하는 1MB 디스크 블록의 수가 저장됩니다.

아래 예에 나온 것처럼 STV\_BLOCKLIST에 집계 쿼리를 사용하여 데이터베이스, 테이블, 조각 또는 열마다 할당되는 1MB 디스크 블록의 수를 확인합니다. 또한 [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  | 정수  | 노드 조각  | 
| col  | 정수  | 0부터 시작되는 열 인덱스. 생성하는 모든 테이블에는 INSERT\_XID, DELETE\_XID, ROW\_ID(OID)라는 3개의 숨겨진 열이 추가되어 있습니다. 3개의 사용자 정의 열이 있는 테이블에는 6개의 실제 열이 포함되며, 사용자 정의 열은 내부적으로 0, 1, 2로 번호 지정됩니다. 이 예에서 INSERT\_XID, DELETE\_XID 및 ROW\_ID 열은 각각 3, 4, 5로 번호 지정됩니다. | 
| tbl  | 정수  | 데이터베이스 테이블의 테이블 ID  | 
| blocknum  | 정수  | 데이터 블록의 ID. | 
| num\_values  | 정수  | 블록에 포함된 값의 수. | 
| extended\_limits  | 정수  | 내부용. | 
| minvalue  | bigint  | 블록의 최소 데이터 값. 숫자가 아닌 데이터에서 첫 8개 문자를 64비트 정수로 저장하며, 디스크 스캔에 사용됩니다. | 
| maxvalue  | bigint  | 블록의 최대 데이터 값. 숫자가 아닌 데이터에서 첫 8개 문자를 64비트 정수로 저장하며, 디스크 스캔에 사용됩니다. | 
| sb\_pos  | 정수  | 디스크상의 슈퍼 블록 위치를 나타내는 내부 Amazon Redshift 식별자  | 
| pinned  | 정수  | 블록이 사전 로드의 일환으로 메모리에 고정되어 있는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| on\_disk  | 정수  | 블록이 디스크에 자동으로 저장되는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| 수정됨  | 정수  | 블록이 수정되었는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| hdr\_modified  | 정수  | 블록 헤더가 수정되었는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| unsorted  | 정수  | 블록이 정렬되지 않았는지 여부. 0 = false, 1 = true. 기본값은 true입니다. | 
| tombstone  | 정수  | 내부용. | 
| preferred\_diskno  | 정수  | 디스크에 결함이 발생하지 않은 경우, 블록이 있어야 할 디스크 번호. 디스크가 고쳐지면 블록은 이 디스크로 다시 이동합니다. | 
| 임시  | 정수  | 블록에 임시 테이블 또는 중간 쿼리 결과 같은 임시 데이터가 포함되는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| newblock  | 정수  | 블록이 새것인지(true) 또는 디스크에 한번도 커밋되지 않았는지(false) 여부. 0 = false, 1 = true. | 
| num\_readers  | 정수  | 각 블록의 참조 수  | 
| flags  | 정수  | 블록 헤더의 내부 Amazon Redshift 플래그. | 

## 샘플 쿼리
<a name="r_STV_BLOCKLIST-sample-queries"></a>

STV\_BLOCKLIST는 할당된 디스크 블록당 1개의 행이 포함되므로 모든 행을 선택하는 쿼리는 매우 많은 수의 행을 반환할 수 있습니다. STV\_BLOCKLIST에는 집계 쿼리만 사용하는 것이 좋습니다.

[SVV\_DISKUSAGE](r_SVV_DISKUSAGE.md) 뷰는 유사한 정보를 더욱 사용자 친화적인 형식으로 제공하지만 다음 예는 STV\_BLOCKLIST 테이블에 대한 한 가지 용도를 설명한 것입니다.

VENUE 테이블의 각 열에서 사용하는 1MB 블록 수를 확인하려면 다음과 같이 쿼리를 입력합니다.

```
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 테이블의 각 열에 할당되는 1MB 블록의 수를 반환합니다.

```
 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)
```