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 PERM tabella STV TBL _ _ 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 ai superutenti. Per ulteriori informazioni, consulta 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 ROWS numero, aspira la tabella per ricomporre 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, vedete il BACKUP parametro per il CREATE TABLE comando. |
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 tabellaIDs, quindi sapere quale ID di tabella corrisponde a una determinata tabella può essere molto utile. In questo esempio, SELECT DISTINCT viene utilizzato per rimuovere i duplicati (le tabelle sono distribuite su più sezioni).
Per determinare il numero di blocchi utilizzati da ogni colonna della VENUE tabella, digita la seguente query:
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 ROWS colonna include il conteggio delle righe eliminate che non sono state pulite (o che sono state aspirate ma con l'opzione). SORT ONLY Pertanto, la SUM ROWS colonna nella PERM tabella STV _ TBL _ potrebbe non corrispondere al risultato COUNT (*) quando si esegue una query diretta su una determinata tabella. Ad esempio, se vengono eliminate 2 righe daVENUE, 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 aspirapolvere completo della VENUE tabella.
vacuum venue; select trim(name) tablename, sum(rows) from stv_tbl_perm where name='venue' group by name; tablename | sum -----------+----- venue | 200 (1 row)