STV_TBL_PERM - Amazon Redshift

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)