Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog
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 della colonna | Tipo di dati | Description |
|---|---|---|
| sezione | intero | Sezione di nodo allocata alla tabella. |
| id | intero | 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 | intero | Indica se la tabella è una tabella temporanea. 0 = false; 1 = true. |
| db_id | intero | ID del database in cui è stata creata la tabella. |
| insert_pristine | intero | Per uso interno. |
| delete_pristine | intero | Per uso interno. |
| backup | intero | 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 | intero | 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 | intero | 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)