Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
STV_TBL_PERM
Tabel STV_TBL_PERM berisi informasi tentang tabel permanen di Amazon Redshift, termasuk tabel sementara yang dibuat oleh pengguna untuk sesi saat ini. STV_TBL_PERM berisi informasi untuk semua tabel di semua database.
Tabel ini berbeda dariSTV_TBL_TRANS, yang berisi informasi tentang tabel database sementara yang dibuat sistem selama pemrosesan kueri.
STV_TBL_PERM hanya terlihat oleh pengguna super. Untuk informasi selengkapnya, lihat Visibilitas data dalam tabel dan tampilan sistem.
Kolom tabel
Nama kolom | Jenis data | Deskripsi |
---|---|---|
mengiris | integer | Node slice dialokasikan ke tabel. |
id | integer | ID Tabel. |
name | karakter (72) | Nama tabel. |
baris | bigint | Jumlah baris data dalam irisan. |
sorted_rows | bigint | Jumlah baris dalam irisan yang sudah diurutkan pada disk. Jika nomor ini tidak cocok dengan nomor ROWS, vakum tabel untuk menggunakan baris. |
pekerja sementara | integer | Apakah tabel adalah tabel sementara atau tidak. 0 = false; 1 = true. |
db_id | integer | ID database tempat tabel dibuat. |
insert_pristine | integer | Untuk penggunaan internal. |
delete_murni | integer | Untuk penggunaan internal. |
pencadangan | integer | Nilai yang menunjukkan apakah tabel disertakan dalam snapshot cluster. 0 = tidak; 1 = ya. Untuk informasi selengkapnya, lihat BACKUP parameter untuk perintah CREATE TABLE. |
gaya dist_ | integer | Gaya distribusi tabel yang menjadi milik irisan. Untuk informasi tentang nilai, lihatMelihat gaya distribusi. Untuk informasi tentang gaya distribusi, lihatGaya distribusi. |
block_count | integer | Jumlah blok yang digunakan oleh irisan. Nilainya -1 ketika jumlah blok tidak dapat dihitung. |
Kueri Sampel
Query berikut mengembalikan daftar tabel IDs dan nama yang berbeda:
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
...
Tabel sistem lain menggunakan tabel IDs, jadi mengetahui ID tabel mana yang sesuai dengan tabel tertentu bisa sangat berguna. Dalam contoh ini, SELECT DISTINCT digunakan untuk menghapus duplikat (tabel didistribusikan di beberapa irisan).
Untuk menentukan jumlah blok yang digunakan oleh setiap kolom dalam tabel VENUE, ketikkan kueri berikut:
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)
Catatan penggunaan
Kolom ROWS mencakup jumlah baris yang dihapus yang belum disedot (atau telah disedot tetapi dengan opsi SORT ONLY). Oleh karena itu, SUM kolom ROWS di tabel STV_TBL_PERM mungkin tidak cocok dengan hasil COUNT (*) saat Anda menanyakan tabel yang diberikan secara langsung. Misalnya, jika 2 baris dihapus dari VENUE, hasil COUNT (*) adalah 200 tetapi hasil SUM (ROWS) masih 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)
Untuk menyinkronkan data di STV_TBL_PERM, jalankan vakum penuh tabel 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)