

 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\$1PERM には、すべてのデータベース内のすべてのテーブルに関する情報が含まれます。

このテーブルは、クエリの処理中にシステムが作成する一時的なデータベーステーブルの情報を表示する [STV\$1TBL\$1TRANS](r_STV_TBL_TRANS.md) とは異なります。

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/ja_jp/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>

ROW 列には、vacuum されていない (または SORT ONLY オプション付きで vacuum された) 削除済みの行の数が含まれます。このため、STV\$1TBL\$1PERM テーブル内の ROW 列の 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)
```