

 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\$1TBL\$1PERM
<a name="r_STV_TBL_PERM"></a>

STV\$1TBL\$1PERM 테이블에는 사용자가 현재 세션에서 임시로 생성한 테이블을 포함하여 Amazon Redshift의 영구 테이블에 대한 정보가 저장됩니다. 또한 모든 데이터베이스의 전체 테이블에 대한 정보가 저장됩니다.

이 테이블은 [STV\$1TBL\$1TRANS](r_STV_TBL_TRANS.md)와 다릅니다. STV\$1TBL\$1TRANS 테이블에는 시스템이 쿼리 처리 중 일시적으로 생성하는 데이터베이스 테이블에 대한 정보가 저장됩니다.

STV\$1TBL\$1PERM은 슈퍼 사용자에게만 표시됩니다. 자세한 내용은 [시스템 테이블 및 뷰에 있는 데이터의 가시성](cm_chap_system-tables.md#c_visibility-of-data) 섹션을 참조하세요.

## 테이블 열
<a name="r_STV_TBL_PERM-table-columns"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/dg/r_STV_TBL_PERM.html)

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

다음은 서로 다른 테이블 ID와 이름 목록을 반환하는 쿼리입니다.

```
select distinct id, name
from stv_tbl_perm order by name;

   id   |          name
--------+-------------------------
 100571 | category
 100575 | date
 100580 | event
 100596 | listing
 100003 | padb_config_harvest
 100612 | sales
...
```

다른 시스템 테이블들은 테이블 ID를 사용하기 때문에 특정 테이블의 테이블 ID를 알고 있다면 매우 유용하게 사용할 수 있습니다. 위 예에서 SELECT DISTINCT는 테이블이 다수의 조각으로 분산되면서 중복된 테이블을 제거하기 위해 사용되었습니다.

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

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

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

## 사용 노트
<a name="r_STV_TBL_PERM-usage-notes"></a>

ROWS 열에는 삭제만 되고 아직 정리되지 않은(또는 SORT ONLY 옵션과 함께 정리된) 행의 수가 포함됩니다. 따라서 STV\$1TBL\$1PERM 테이블에서 ROWS 열의 SUM 결과는 임의 테이블에 대해 직접 쿼리를 실행했을 때 COUNT(\$1) 결과와 일치하지 않을 수도 있습니다. 예를 들어 VENUE 테이블에서 행 2개를 삭제한 경우 COUNT(\$1) 결과가 200이지만 SUM(ROWS) 결과는 여전히 202입니다.

```
delete from venue
where venueid in (1,2);

select count(*) from venue;
count
-------
200
(1 row)

select trim(name) tablename, sum(rows)
from stv_tbl_perm where name='venue' group by name;

tablename | sum
-----------+-----
venue     | 202
(1 row)
```

STV\$1TBL\$1PERM의 데이터를 동기화하려면 VENUE 테이블에 대한 전체 정리를 실행하십시오.

```
vacuum venue;

select trim(name) tablename, sum(rows)
from stv_tbl_perm
where name='venue'
group by name;

tablename | sum
-----------+-----
venue     | 200
(1 row)
```