STV_TBL_PERM - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

STV_TBL_PERM

La table STV_TBL_PERM contient des informations sur les tables permanentes dans Amazon Redshift, y compris les tables temporaires créées par un utilisateur pour la session en cours. STV_TBL_PERM contient des informations pour toutes les tables de toutes les bases de données.

Ce tableau diffère de STV_TBL_TRANS, qui contient des informations sur les tables de base de données temporaires que le système crée pendant le traitement de la requête.

STV_TBL_PERM n’est visible que par les superutilisateurs. Pour de plus amples informations, veuillez consulter Visibilité des données dans les tables et vues système.

Colonnes de la table

Nom de la colonne Type de données Description
slice entier Tranche de nœud allouée à la table.
id entier ID de table.
name character(72) Nom de la table.
rows bigint Nombre de lignes de données dans la tranche.
sorted_rows bigint Nombre de lignes dans la tranche qui sont déjà triées sur le disque. Si ce nombre ne correspond pas au nombre ROWS, effectuez un processus vacuum sur la table pour retrier les lignes.
temp entier Si la table est une table temporaire ou non. 0 = false ; 1 = vrai.
db_id entier ID de la base de données dans laquelle la table a été créée.
insert_pristine entier Pour utilisation interne.
delete_pristine entier Pour utilisation interne.
backup entier Valeur qui indique si la table est incluse dans les instantanés de cluster. 0 = non ; 1 = oui. Pour plus d’informations, consultez le paramètre BACKUP de la commande CREATE TABLE.
dist_style entier Style de distribution de la table à laquelle appartient la tranche. Pour plus d’informations sur les valeurs, consultez Affichage des styles de distribution. Pour plus d’informations sur les styles de distribution, consultez Styles de distribution.
block_count entier Nombre de blocs utilisés par la tranche. La valeur est -1 lorsque le nombre de blocs ne peut pas être calculé.

Exemples de requêtes

La requête suivante renvoie une liste de tables IDs et de noms distincts :

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 ...

D'autres tables système utilisent une table IDs. Il peut donc être très utile de savoir quel ID de table correspond à une table donnée. Dans cet exemple, SELECT DISTINCT est utilisé pour supprimer les doublons (les tables sont réparties entre plusieurs tranches).

Pour déterminer le nombre de blocs de 1 Mo utilisés par chaque colonne dans la table VENUE, tapez la requête suivante :

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)

Notes d’utilisation

La colonne ROWS inclut le nombre de lignes supprimées qui n’ont pas été vidées (ou ont été vidées mais avec l’option SORT ONLY). Par conséquent, la SUM de la colonne ROWS de la table STV_TBL_PERM peut ne pas correspondre au résultat COUNT(*) lorsque vous interrogez une table donnée directement. Par exemple, si 2 lignes sont supprimées de la table VENUE, le résultat de COUNT(*) est 200 mais le résultat de SUM(ROWS) est toujours 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)

Pour synchroniser les données dans STV_TBL_PERM, effectuez un processus vacuum sur la table 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)