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à.
STV_TBL_PERM
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)