Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
La tabella STV_TBL_PERM contiene informazioni sulle tabelle permanenti in Amazon Redshift, incluse le tabelle temporanee create da un utente per la sessione corrente. STV_TBL_PERM contiene informazioni per tutte le tabelle in tutti i database.
Questa tabella differisce da STV_TBL_TRANS, che contiene informazioni sulle tabelle di database transitorie che il sistema crea durante l'elaborazione della query.
STV_TBL_PERM è visibile solo per agli utenti con privilegi avanzati. Per ulteriori informazioni, consultare Visibilità dei dati nelle tabelle e nelle viste di sistema.
Colonne di tabella
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
sezione | integer | Sezione di nodo allocata alla tabella. |
id | integer | ID tabella. |
nome | character(72) | Nome tabella. |
righe | bigint | Numero di righe di dati nella sezione. |
sorted_rows | bigint | Numero di righe nella sezione che sono già ordinate sul disco. Se questo numero non corrisponde al numero ROWS, eseguire un vacuum della tabella per riordinare le righe. |
temp | integer | Indica se la tabella è una tabella temporanea. 0 = false; 1 = true. |
db_id | integer | ID del database in cui è stata creata la tabella. |
insert_pristine | integer | Per uso interno. |
delete_pristine | integer | Per uso interno. |
backup | integer | Valore che indica se la tabella è inclusa negli snapshot del cluster. 0 = no; 1 = yes. Per ulteriori informazioni, consultare il parametro BACKUP per il comando CREATE TABLE. |
dist_style | integer | Stile di distribuzione della tabella a cui appartiene la sezione. Per ulteriori informazioni sui valori, consulta Visualizzazione degli stili di distribuzione. Per ulteriori informazioni sugli stili di distribuzione, consulta Stili di distribuzione. |
block_count | integer | Numero di blocchi utilizzati dalla sezione. Il valore è -1 quando non è possibile calcolare il numero di blocchi. |
Query di esempio
La seguente query restituisce un elenco di tabelle IDs e nomi distinti:
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
...
Altre tabelle di sistema utilizzano la tabella IDs, quindi sapere quale ID di tabella corrisponde a una determinata tabella può essere molto utile. In questo esempio, SELECT DISTINCT viene utilizzata per rimuovere i duplicati (le tabelle sono distribuite tra più sezioni).
Per determinare il numero di blocchi utilizzati da ogni colonna nella tabella VENUE, digita la query seguente:
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)
Note per l'utilizzo
La colonna ROWS include il numero di righe eliminate che non sono state sottoposte a vacuum (o che lo sono state ma con l'opzione SORT ONLY). Di conseguenza, la SUM della colonna ROWS nella tabella STV_TBL_PERM potrebbe non corrispondere al risultato COUNT(*) quando esegui direttamente una query su una determinata tabella. Ad esempio, se 2 righe sono eliminate da VENUE, il risultato COUNT(*) è 200 ma il risultato SUM(ROWS) è ancora 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)
Per sincronizzare i dati in STV_TBL_PERM, esegui un vacuum completo della tabella 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)