Schéma d'informations pour les bases de données en dialecte GoogleSQL

Le schéma d'informations est un schéma intégré commun à toutes les bases de données Spanner. Vous pouvez exécuter des requêtes SQL sur des tables de INFORMATION_SCHEMA afin de récupérer les métadonnées de schéma d'une base de données.

Par exemple, la requête suivante récupère le nom de toutes les tables définies par l'utilisateur dans une base de données :

  SELECT
    table_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'

Les utilisateurs disposant d'un contrôle ultraprécis des accès voient les résultats filtrés pour certaines tables INFORMATION_SCHEMA en fonction de leur rôle de base de données. Pour en savoir plus, consultez À propos du contrôle ultraprécis des accès.

Utilisation

Les tables INFORMATION_SCHEMA ne sont disponibles que via des interfaces SQL, par exemple :

  • L'API executeQuery
  • La commande gcloud spanner databases execute-sql
  • Page Spanner Studio d'une base de données dans la console Google Cloud

Les autres méthodes de lecture unique ne sont pas compatibles avec INFORMATION_SCHEMA.

Remarques supplémentaires sur l'utilisation de INFORMATION_SCHEMA :

Filtrage des lignes dans les tables information_schema

Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader (ou aux membres de ce rôle) peuvent voir toutes les lignes de toutes les tables information_schema. Pour les autres comptes principaux, pour certaines tables, les lignes sont filtrées en fonction du rôle de base de données actuel. Les descriptions des tables et des vues dans les sections suivantes indiquent comment le filtrage des lignes est appliqué pour chaque table et vue.

Tables dans INFORMATION_SCHEMA

Les sections suivantes décrivent les tables du schéma INFORMATION_SCHEMA pour les bases de données de dialecte GoogleSQL.

SCHEMATA

La table INFORMATION_SCHEMA.SCHEMATA répertorie les schémas de la base de données. Il s'agit du schéma d'informations et des schémas nommés, qui contiennent les tables que vous définissez.

Nom de la colonne Type Description
CATALOG_NAME STRING Nom du catalogue. Cette colonne existe pour assurer la compatibilité avec les tables de schéma d'informations conformes à la norme SQL. Cette colonne est toujours une chaîne vide.
SCHEMA_NAME STRING Nom du schéma. Il s'agit d'un nom pour les schémas nommés ou de "" pour le schéma par défaut.
PROTO_BUNDLE STRING Si la base de données contient des instructions de bundle proto, cette colonne fournit des informations sur le bundle proto utilisé dans le schéma. Cette colonne est NULL si aucun groupe proto n'existe dans la base de données.

DATABASE_OPTIONS

Ce tableau répertorie les options définies sur la base de données.

Nom de la colonne Type Description
CATALOG_NAME STRING Nom du catalogue. Toujours une chaîne vide.
SCHEMA_NAME STRING Nom du schéma. Chaîne vide si elle n'est pas nommée.
OPTION_NAME STRING Nom de l'option de base de données.
OPTION_TYPE STRING Type de données de l'option de base de données.
OPTION_VALUE STRING Valeur de l'option de base de données.

PLACEMENTS

Ce tableau liste les emplacements de la base de données.

Nom de la colonne Type Description
PLACEMENT_NAME STRING Nom de l'emplacement.
IS_DEFAULT BOOL Valeur booléenne indiquant si l'emplacement est l'emplacement par défaut.

PLACEMENT_OPTIONS

Pour chaque emplacement, ce tableau liste les options définies sur l'emplacement dans la clause OPTIONS de l'instruction CREATE PLACEMENT.

Les valeurs valides pour OPTION_NAME sont les suivantes :

  • instance_partition
  • default_leader
Nom de la colonne Type Description
PLACEMENT_NAME STRING Nom de l'emplacement.
OPTION_NAME STRING Nom de l'option d'emplacement.
OPTION_TYPE STRING Type de données de l'option d'emplacement. Pour les deux options, il s'agit de STRING(MAX).
OPTION_VALUE STRING Valeur de l'option d'emplacement. Pour instance_partition, il s'agit du nom de la partition d'instance. Pour default_leader, il s'agit du nom de la région principale par défaut.

LOCALITY_GROUP_OPTIONS

Pour chaque groupe de localités, ce tableau liste le nom et les options définis sur le groupe de localités dans la clause OPTIONS de l'instruction CREATE LOCALITY GROUP.

Nom de la colonne Type Description
LOCALITY_GROUP_NAME STRING Nom du groupe de localités.
OPTION_NAME STRING Nom de l'option de groupe de localités. Les options valides sont les suivantes :
  • STORAGE : définit le type de stockage du groupe de localité.
  • SSD_TO_HDD_SPILL_TIMESPAN : définit la durée de stockage des données sur le stockage SSD avant leur transfert vers le stockage HDD.
OPTION_VALUE STRING Valeur de l'option de groupe de localité. Pour STORAGE, il s'agit de ssd ou de hdd. Pour SSD_TO_HDD_SPILL_TIMESPAN, il s'agit de la durée pendant laquelle les données doivent être stockées sur un disque SSD avant d'être déplacées vers un disque dur. Par exemple, 10d correspond à 10 jours. La durée minimale que vous pouvez définir est d'une heure.

TABLES

Cette table filtrée par ligne liste les tables et les vues de la base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les tables qui répondent à l'une des exigences suivantes :

  • Les droits de contrôle ultraprécis des accès SELECT, INSERT, UPDATE ou DELETE sont accordés sur la table au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre, ou à public.
  • Les droits SELECT, INSERT ou UPDATE sont accordés sur n'importe quelle colonne de table au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
Nom de la colonne Type Description
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table, de la vue ou du synonyme.
TABLE_TYPE STRING Type de la table. Pour les tables, la valeur est BASE TABLE. Pour les vues, la valeur est VIEW. Pour les synonymes, la valeur est SYNONYM.
PARENT_TABLE_NAME STRING Nom de la table parente si cette table est entrelacée, et NULL sinon.
ON_DELETE_ACTION STRING Cette valeur est définie sur CASCADE ou NO ACTION pour les tables entrelacées, et sur NULL dans les autres cas. Pour en savoir plus, consultez Instructions TABLE.
SPANNER_STATE STRING Une table peut passer par plusieurs états lors de sa création, si des opérations groupées sont impliquées. Par exemple, lorsque la table est créée avec une clé étrangère qui nécessite le remplissage de ses index. Les états possibles sont les suivants :
  • ADDING_FOREIGN_KEY : ajout des clés étrangères de la table.
  • WAITING_FOR_COMMIT : finalisation de la modification du schéma.
  • COMMITTED : la modification du schéma pour créer la table a été validée. Vous ne pouvez pas écrire dans la table tant que la modification n'est pas validée.
INTERLEAVE_TYPE STRING Texte de l'expression qui indique s'il existe une relation parent-enfant entre cette table et la table dans laquelle elle est entrelacée. Les valeurs possibles sont les suivantes :
  • IN : la table n'a pas de relation parent-enfant. Une ligne de cette table peut exister indépendamment de l'existence de sa ligne de table parente.
  • IN PARENT : la table présente une relation parent-enfant. Une ligne de cette table nécessite l'existence de sa ligne de table parente.
  • Une chaîne vide indique que cette table n'a pas de relations d'entrelacement.
ROW_DELETION_POLICY_EXPRESSION STRING Texte de l'expression qui définit la règle de suppression de lignes de la table. Par exemple, OLDER_THAN(CreatedAt, INTERVAL 1 DAY) ou OLDER_THAN(ExpiredDate, INTERVAL 0 DAY).

COLUMNS

Cette table filtrée par ligne liste les colonnes d'une table. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les colonnes qui répondent à l'une des exigences suivantes :

  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est directement accordé sur la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé sur la table contenant la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
Nom de la colonne Type Description
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table de la colonne. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table.
COLUMN_NAME STRING Nom de la colonne.
ORDINAL_POSITION INT64 Position ordinale de la colonne dans la table, commençant par la valeur 1.
COLUMN_DEFAULT STRING

Représentation sous forme de chaîne de l'expression SQL pour la valeur par défaut de la colonne. NULL si la colonne n'a pas de valeur par défaut.

Remarque : Avant mars 2022, COLUMN_DEFAULT utilisait le type BYTES.

DATA_TYPE STRING Inclus pour respecter la norme SQL. Toujours NULL. Consultez la colonne SPANNER_TYPE.
IS_NULLABLE STRING Chaîne qui indique si la colonne peut être vide. Conformément à la norme SQL, la chaîne est YES ou NO, plutôt qu'une valeur booléenne.
SPANNER_TYPE STRING Type de données de la colonne.
IS_GENERATED STRING Chaîne qui indique si la colonne est générée. La chaîne peut être soit ALWAYS pour une colonne générée, soit NEVER pour une colonne non générée.
GENERATION_EXPRESSION STRING Chaîne représentant l'expression SQL d'une colonne générée. NULL si la colonne n'est pas une colonne générée.
IS_STORED STRING Chaîne qui indique si la colonne générée est stockée. La chaîne est toujours YES pour les colonnes générées et NULL pour les colonnes non générées.
IS_HIDDEN STRING Chaîne définie sur TRUE si la colonne n'apparaît pas dans une requête SELECT *, et sur FALSE dans le cas contraire. Si la colonne est masquée, vous pouvez toujours la sélectionner à l'aide de son nom (par exemple, SELECT Id, Name, ColHidden FROM TableWithHiddenColumn).
SPANNER_STATE STRING État actuel de la colonne. Une nouvelle colonne générée stockée dans une table existante peut passer par plusieurs états observables par l'utilisateur avant d'être entièrement utilisable. Les valeurs possibles du champ sont les suivantes :
  • WRITE_ONLY : la colonne est en cours de remplissage. Aucune lecture n'est autorisée.
  • COMMITTED : la colonne est entièrement utilisable.
IS_IDENTITY STRING Chaîne définie sur YES si la colonne générée est une colonne d'identité, et sur NO sinon.
IDENTITY_GENERATION STRING Chaîne qui spécifie si la colonne n'autorise que les valeurs générées, et non les valeurs personnalisées insérées par l'utilisateur.
  • BY DEFAULT : valeur par défaut. BY DEFAULT spécifie que la colonne utilise des valeurs générées si aucune valeur insérée par l'utilisateur n'est fournie.
  • ALWAYS : la colonne n'autorise que les valeurs générées, et non les valeurs personnalisées insérées par l'utilisateur.
IDENTITY_KIND STRING Toujours BIT_REVERSED_POSITITVE_SEQUENCE. Seules les séquences positives à bits inversés sont acceptées.
IDENTITY_START_WITH_COUNTER STRING Valeur de départ du compteur interne avant la transformation. Par exemple, la valeur de départ avant l'inversion des bits.
IDENTITY_SKIP_RANGE_MIN STRING Valeur minimale d'une plage ignorée après la transformation.
IDENTITY_SKIP_RANGE_MAX STRING Valeur maximale d'une plage ignorée après la transformation.
ON_UPDATE_EXPRESSION STRING STRING avec la représentation SQL de l'expression "ON UPDATE" pour une colonne. Si la colonne n'a pas de valeur "ON UPDATE", la valeur est "NULL".

COLUMN_PRIVILEGES

Cette table filtrée par ligne liste tous les droits accordés au niveau de la colonne à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir les droits que pour les colonnes qui répondent à l'une des exigences suivantes :

  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est directement accordé sur la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre, ou à public.
  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé sur la table contenant la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
Nom de la colonne Type Description
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table de la colonne. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table contenant la colonne privilégiée.
COLUMN_NAME STRING Nom de la colonne privilégiée.
PRIVILEGE_TYPE STRING SELECT, INSERT, UPDATE
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.

TABLE_PRIVILEGES

Cette table filtrée par ligne liste tous les droits accordés au niveau de la table aux rôles de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir les droits que pour les tables sur lesquelles l'un des droits de contrôle ultraprécis des accès SELECT, INSERT, UPDATE ou DELETE est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table sur laquelle les droits de contrôle ultraprécis des accès sont accordés.
PRIVILEGE_TYPE STRING Valeurs possibles : SELECT, INSERT, UPDATE et DELETE.
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.

TABLE_CONSTRAINTS

Ce tableau contient une ligne pour chaque contrainte définie pour les tables de la base de données.

Nom de la colonne Type Description
CONSTRAINT_CATALOG STRING Toujours une chaîne vide.
CONSTRAINT_SCHEMA STRING Nom du schéma de la contrainte. Chaîne vide si elle n'est pas nommée.
CONSTRAINT_NAME STRING Nom de la contrainte.
TABLE_CATALOG STRING Nom du catalogue de la table avec des contraintes. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table avec des contraintes. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table avec des contraintes.
CONSTRAINT_TYPE STRING Type de la contrainte. Les valeurs possibles du champ sont les suivantes :
  • PRIMARY KEY
  • FOREIGN KEY
  • PLACEMENT KEY
  • CHECK
  • UNIQUE
IS_DEFERRABLE STRING Toujours NO.
INITIALLY_DEFERRED STRING Toujours NO.
ENFORCED STRING NO si la contrainte est une clé étrangère informative (NOT ENFORCED). YES pour les clés étrangères appliquées ou tout autre type de contrainte.

CONSTRAINT_TABLE_USAGE

Ce tableau répertorie les tables qui définissent des contraintes ou sont utilisées par celles-ci. Inclut les tables qui définissent les contraintes PRIMARY KEY et UNIQUE. Inclut également les tables référencées des définitions FOREIGN KEY.

Nom de la colonne Type Description
TABLE_CATALOG STRING Nom du catalogue de la table avec des contraintes. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table avec des contraintes. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table avec des contraintes.
CONSTRAINT_CATALOG STRING Nom du catalogue de la contrainte. Toujours une chaîne vide.
CONSTRAINT_SCHEMA STRING Nom du schéma de la contrainte. Chaîne vide si elle n'est pas nommée.
CONSTRAINT_NAME STRING Nom de la contrainte.

REFERENTIAL_CONSTRAINTS

Ce tableau contient une ligne pour chaque contrainte FOREIGN KEY.

Nom de la colonne Type Description
CONSTRAINT_CATALOG STRING Nom du catalogue de la clé étrangère. Toujours une chaîne vide.
CONSTRAINT_SCHEMA STRING Nom du schéma de la clé étrangère. Chaîne vide si elle n'est pas nommée.
CONSTRAINT_NAME STRING Nom de la clé étrangère.
UNIQUE_CONSTRAINT_CATALOG STRING Nom du catalogue de la contrainte PRIMARY KEY ou UNIQUE à laquelle la clé étrangère fait référence. Toujours une chaîne vide.
UNIQUE_CONSTRAINT_SCHEMA STRING Nom de schéma de la contrainte de clé primaire ou UNIQUE à laquelle la clé étrangère fait référence. Chaîne vide si elle n'est pas nommée.
UNIQUE_CONSTRAINT_NAME STRING Nom de la contrainte PRIMARY KEY ou UNIQUE à laquelle la clé étrangère fait référence.
MATCH_OPTION STRING Toujours SIMPLE.
UPDATE_RULE STRING Toujours NO ACTION.
DELETE_RULE STRING CASCADE, SET NULL ou NO ACTION.
SPANNER_STATE STRING État actuel de la clé étrangère. Spanner ne commence à appliquer la contrainte qu'une fois que les index de soutien de la clé étrangère ont été créés et remplis. Une fois les index prêts, Spanner commence à appliquer la contrainte aux nouvelles transactions tout en validant les données existantes. Voici les valeurs possibles et les états qu'elles représentent :
  • BACKFILLING_INDEXES : les index sont en cours de remplissage.
  • VALIDATING_DATA : les données existantes et les nouvelles écritures sont en cours de validation.
  • WAITING_FOR_COMMIT : les opérations groupées de clé étrangère ont abouti, ou aucune n'était nécessaire, mais la clé étrangère est toujours en attente.
  • COMMITTED : la modification du schéma a été validée.

CHECK_CONSTRAINTS

La table information_schema.CHECK_CONSTRAINTS contient une ligne pour chaque contrainte CHECK définie par le mot clé CHECK ou NOT NULL.

Nom de la colonne Type Description
CONSTRAINT_CATALOG STRING Nom du catalogue de la contrainte. Cette colonne n'est jamais nulle, mais correspond toujours à une chaîne vide.
CONSTRAINT_SCHEMA STRING Nom du schéma de la contrainte. Chaîne vide si elle n'est pas nommée.
CONSTRAINT_NAME STRING Nom de la contrainte. Cette colonne n'est jamais nulle. S'il n'est pas explicitement spécifié dans la définition du schéma, un nom défini par le système est attribué.
CHECK_CLAUSE STRING Expressions de la contrainte CHECK. Cette colonne n'est jamais nulle.
SPANNER_STATE STRING État actuel de la contrainte CHECK. Cette colonne n'est jamais nulle. Les états possibles sont les suivants :
  • VALIDATING : Spanner valide les données existantes.
  • COMMITTED : il n'existe aucune modification de schéma active pour cette contrainte.

KEY_COLUMN_USAGE

Cette table filtrée par ligne contient une ligne pour chaque colonne des tables de TABLE_CONSTRAINTS qui sont limitées en tant que clés par une contrainte PRIMARY KEY, FOREIGN KEY ou UNIQUE. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les colonnes qui répondent aux critères suivants :

  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est directement accordé sur la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé sur la table contenant la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
Nom de la colonne Type Description
CONSTRAINT_CATALOG STRING Nom du catalogue de la contrainte. Toujours une chaîne vide.
CONSTRAINT_SCHEMA STRING Nom du schéma de la contrainte. Cette colonne n'est jamais nulle. Chaîne vide si l'élément n'est pas nommé.
CONSTRAINT_NAME STRING Nom de la contrainte.
TABLE_CATALOG STRING Nom du catalogue de la colonne avec des contraintes. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table de la colonne avec des contraintes. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table de la colonne avec des contraintes.
COLUMN_NAME STRING Nom de la colonne.
ORDINAL_POSITION INT64 Position ordinale de la colonne dans la clé de la contrainte, en commençant par la valeur 1.
POSITION_IN_UNIQUE_CONSTRAINT INT64 Pour les FOREIGN KEY, position ordinale de la colonne dans la contrainte unique, en commençant par la valeur 1. Cette colonne est nulle pour les autres types de contraintes.

CONSTRAINT_COLUMN_USAGE

Ce tableau contient une ligne pour chaque colonne utilisée par une contrainte. Inclut les colonnes PRIMARY KEY et UNIQUE, ainsi que les colonnes référencées des contraintes FOREIGN KEY.

Nom de la colonne Type Description
TABLE_CATALOG STRING Nom du catalogue de la table de la colonne. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table de la colonne. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table de la colonne.
COLUMN_NAME STRING Nom de la colonne utilisée par la contrainte.
CONSTRAINT_CATALOG STRING Nom du catalogue de la contrainte. Toujours une chaîne vide.
CONSTRAINT_SCHEMA STRING Nom du schéma de la contrainte. Chaîne vide si elle n'est pas nommée.
CONSTRAINT_NAME STRING Nom de la contrainte.

TABLE_SYNONYMS

Cette table liste les informations sur les synonymes de la table.

Nom de la colonne Type Description
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table.
SYNONYM_CATALOG STRING Nom du catalogue pour le synonyme.
SYNONYM_SCHEMA STRING Nom du schéma du synonyme.
SYNONYM_TABLE_NAME STRING Nom de la table pour le synonyme.

INDEXES

Cette table filtrée par ligne liste les index de la base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les index qui répondent à l'une des exigences suivantes :

  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé au niveau de la colonne sur toutes les colonnes de l'index au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre, ou à public.
  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT, UPDATE ou DELETE est accordé sur la table qui comporte l'index au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
Nom de la colonne Type Description
TABLE_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom de schéma de la table d'index. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table.
INDEX_NAME STRING Nom de l'index. Les tables avec une spécification PRIMARY KEY ont une entrée de pseudo-index générée avec le nom PRIMARY_KEY, ce qui permet de déterminer les champs de la clé primaire.
INDEX_TYPE STRING Type d'index. Le type est INDEX ou PRIMARY_KEY.
PARENT_TABLE_NAME STRING Les index secondaires peuvent être entrelacés dans une table parente, comme indiqué dans la section Créer un index secondaire. Cette colonne contient le nom de cette table parente ou une chaîne vide si l'index n'est pas entrelacé.
IS_UNIQUE BOOL Si les clés d'index doivent être uniques.
IS_NULL_FILTERED BOOL Si l'index inclut des entrées dotées de valeurs NULL.
INDEX_STATE STRING État actuel de l'index. Les valeurs possibles et les états qu'elles représentent sont les suivants :
  • PREPARE : créer des tables vides pour un nouvel index.
  • WRITE_ONLY : remplir des données pour un nouvel index.
  • WRITE_ONLY_CLEANUP : nettoyer un nouvel index.
  • WRITE_ONLY_VALIDATE_UNIQUE : vérification de l'unicité des données dans un nouvel index.
  • READ_WRITE : opération d'index normale.
SPANNER_IS_MANAGED BOOL TRUE si l'index est géré par Spanner, sinon FALSE. Les index de soutien secondaires pour les clés étrangères sont gérés par Spanner.

INDEX_COLUMNS

Cette table filtrée par ligne liste les colonnes d'un index. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les index qui répondent à l'une des exigences suivantes :

  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé au niveau de la colonne sur toutes les colonnes de l'index au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé sur la table qui comporte un index pour le rôle de base de données actuel, pour les rôles dont le rôle de base de données actuel est membre, ou pour public.
Nom de la colonne Type Description
TABLE_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom de schéma de la table d'index. Le nom est vide pour le schéma par défaut, et il contient une valeur pour les autres schémas. Cette colonne contient toujours une valeur.
TABLE_NAME STRING Nom de la table.
INDEX_NAME STRING Nom de l'index.
COLUMN_NAME STRING Nom de la colonne.
ORDINAL_POSITION INT64 Position ordinale de la colonne dans l'index (ou la clé primaire), en commençant par la valeur 1. Cette valeur est NULL pour les colonnes qui ne sont pas des clés (par exemple, les colonnes spécifiées dans la clause STORING d'un index).
COLUMN_ORDERING STRING Ordre de la colonne. La valeur est ASC ou DESC pour les colonnes de clé, et NULL pour les colonnes sans clé (par exemple, les colonnes spécifiées dans la clause STORING d'un index).
IS_NULLABLE STRING Chaîne qui indique si la colonne peut être vide. Conformément à la norme SQL, la chaîne est YES ou NO, plutôt qu'une valeur booléenne.
SPANNER_TYPE STRING Type de données de la colonne.

COLUMN_OPTIONS

Cette table filtrée par ligne liste les options de colonne d'une table. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les options des colonnes qui répondent à l'une des exigences suivantes :

  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est directement accordé sur la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
  • L'un des droits de contrôle ultraprécis des accès SELECT, INSERT ou UPDATE est accordé sur la table contenant la colonne au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.
Nom de la colonne Type Description
TABLE_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma. Le nom est vide pour le schéma par défaut et non vide pour les autres schémas (par exemple, INFORMATION_SCHEMA). Cette colonne n'est jamais nulle.
TABLE_NAME STRING Nom de la table.
COLUMN_NAME STRING Nom de la colonne.
OPTION_NAME STRING Identifiant SQL qui identifie l'option de manière unique. Il est la clé de la clause OPTIONS en DDL.
OPTION_TYPE STRING Nom de type de données qui correspond au type de cette valeur d'option.
OPTION_VALUE STRING Littéral SQL décrivant la valeur de cette option. La valeur de cette colonne doit être analysable dans le cadre d'une requête. L'expression obtenue à partir de l'analyse de la valeur doit pouvoir être convertie en OPTION_TYPE. Cette colonne n'est jamais nulle.

SEQUENCES

Ce tableau liste les métadonnées des séquences. SEQUENCES est filtré par ligne en fonction des droits d'accès ultraprécis, si un utilisateur disposant de droits d'accès ultraprécis l'interroge.

Nom de la colonne Type Description
CATALOG STRING Nom du catalogue contenant la séquence.
SCHEMA STRING Nom du schéma contenant la séquence.
NAME STRING Nom de la séquence.
DATA_TYPE STRING Type des valeurs de la séquence. Il utilise le type de données INT64.

SEQUENCE_OPTIONS

Ce tableau contient les options de configuration des séquences. SEQUENCE_OPTIONS est filtré par ligne en fonction des droits d'accès précis, si un utilisateur disposant de droits d'accès précis l'interroge.

Nom de la colonne Type Description
CATALOG STRING Nom du catalogue contenant la séquence.
SCHEMA STRING Nom du schéma contenant la séquence.
NAME STRING Nom de la séquence.
OPTION_NAME STRING Nom de l'option de séquence.
OPTION_TYPE STRING Nom de type de données qui correspond au type de cette valeur d'option.
OPTION_VALUE STRING Valeur de l'option de séquence. L'expression résultant de l'analyse de la valeur doit permettre d'effectuer un cast vers OPTION_TYPE.

SPANNER_STATISTICS

Ce tableau répertorie les packages de statistiques disponibles pour l'optimiseur de requêtes.

Nom de la colonne Type Description
CATALOG_NAME STRING Nom du catalogue. Toujours une chaîne vide.
SCHEMA_NAME STRING Nom du schéma. Le nom est vide pour le schéma par défaut et non vide pour les autres schémas (par exemple, INFORMATION_SCHEMA). Cette colonne n'est jamais nulle.
PACKAGE_NAME STRING Nom du package de statistiques.
ALLOW_GC BOOL FALSE si le package de statistiques est exempté de la récupération de mémoire, sinon TRUE.
Cet attribut doit être défini sur FALSE pour référencer le package de statistiques dans une indication ou via l'API cliente.

VIEWS

Cette table filtrée par ligne liste les vues de la base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les vues pour lesquelles le droit de contrôle des accès ultraprécis SELECT est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
TABLE_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma. Chaîne vide si elle n'est pas nommée.
TABLE_NAME STRING Nom de la vue.
VIEW_DEFINITION STRING Texte SQL de la requête qui définit la vue.
SECURITY_TYPE STRING Type de sécurité de la vue. INVOKER ou DEFINER.

Pour en savoir plus, consultez À propos des vues.

ROLES

Cette table filtrée par ligne liste les rôles de base de données définis pour le contrôle ultraprécis des accès, y compris les rôles système. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir tous les rôles de base de données. Tous les autres comptes principaux ne peuvent voir que les rôles de base de données auxquels ils ont accès, directement ou par héritage.

Nom de la colonne Type Description
ROLE_NAME STRING Nom du rôle de base de données.
IS_SYSTEM BOOL TRUE si le rôle de base de données est un rôle système, sinon FALSE.

ROLE_GRANTEES

Cette table filtrée par ligne liste toutes les appartenances à des rôles explicitement accordées à tous les rôles de base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les appartenances aux rôles accordées au rôle de base de données actuel ou à un rôle dont le rôle de base de données actuel est membre.

Étant donné que tous les rôles de base de données sont membres du rôle public, les résultats omettent les enregistrements d'appartenance implicite au rôle public.

Nom de la colonne Type Description
ROLE_NAME STRING Nom du rôle de base de données dans lequel cette appartenance est accordée.
GRANTEE STRING Nom du rôle de base de données auquel cette appartenance est accordée.

CHANGE_STREAMS

Cette table filtrée par ligne liste tous les flux de modifications d'une base de données et indique ceux qui suivent l'intégralité de la base de données par rapport à des tables ou des colonnes spécifiques. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les flux de modifications pour lesquels le droit de contrôle des accès ultraprécis SELECT est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
CHANGE_STREAM_CATALOG STRING Nom du catalogue du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_SCHEMA STRING Nom du schéma de ce flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_NAME STRING Nom du flux de modifications.
ALL BOOL TRUE si ce flux de modifications suit l'intégralité de la base de données. FALSE si ce flux de modifications suit des tables ou des colonnes spécifiques.

CHANGE_STREAM_TABLES

Cette table filtrée par ligne contient des informations sur les tables et les flux de modifications qui les surveillent. Chaque ligne décrit une table et un flux de modifications. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les lignes des flux de modifications pour lesquels le privilège SELECT est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Les données de CHANGE_STREAM_TABLES n'incluent pas les relations implicites entre les tables et les flux de modifications qui suivent l'intégralité de la base de données.

Nom de la colonne Type Description
CHANGE_STREAM_CATALOG STRING Nom du catalogue du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_SCHEMA STRING Nom du schéma du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_NAME STRING Nom du flux de modifications auquel cette ligne fait référence.
TABLE_CATALOG STRING Nom du catalogue de la table. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table. Toujours une chaîne vide.
TABLE_NAME STRING Nom de la table à laquelle cette ligne fait référence.
ALL_COLUMNS BOOL TRUE si le flux de modifications de cette ligne suit l'intégralité de la table à laquelle cette ligne fait référence. Dans le cas contraire, cette valeur est définie sur FALSE.

CHANGE_STREAM_COLUMNS

Cette table filtrée par ligne contient des informations sur les colonnes de la table et les flux de modifications qui les surveillent. Chaque ligne décrit un flux de modifications et une colonne. Si un flux de modifications suit une table entière, les colonnes de cette table n'apparaissent pas dans cette vue.

Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les lignes des flux de modifications pour lesquels le droit SELECT est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
CHANGE_STREAM_CATALOG STRING Nom du catalogue du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_SCHEMA STRING Nom du schéma du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_NAME STRING Nom du flux de modifications.
TABLE_CATALOG STRING Nom du catalogue de la table. Toujours une chaîne vide.
TABLE_SCHEMA STRING Nom du schéma de la table. Toujours une chaîne vide.
TABLE_NAME STRING Nom de la table à laquelle cette ligne fait référence.
COLUMN_NAME STRING Nom de la colonne à laquelle cette ligne fait référence.

CHANGE_STREAM_OPTIONS

Cette table filtrée par ligne contient les options de configuration des flux de modifications. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les options des flux de modifications pour lesquels le droit SELECT est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
CHANGE_STREAM_CATALOG STRING Nom du catalogue du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_SCHEMA STRING Nom du schéma du flux de modifications. Toujours une chaîne vide.
CHANGE_STREAM_NAME STRING Nom du flux de modifications.
OPTION_NAME STRING Nom de l'option de flux de modifications.
OPTION_TYPE STRING Type de données de l'option de flux de modifications.
OPTION_VALUE STRING Valeur de l'option de flux de modifications.

CHANGE_STREAM_PRIVILEGES

Cette table filtrée par ligne liste tous les droits de contrôle des accès ultraprécis accordés sur tous les flux de modifications à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les flux de modifications au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
CHANGE_STREAM_CATALOG STRING Nom du catalogue contenant le flux de modifications (chaîne vide).
CHANGE_STREAM_SCHEMA STRING Nom du schéma contenant le flux de modifications (chaîne vide).
CHANGE_STREAM_NAME STRING Nom du flux de modifications.
PRIVILEGE_TYPE STRING SELECT (le seul droit autorisé pour les flux de modifications).
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.

ROUTINES

Cette table filtrée par ligne liste toutes les fonctions de lecture des flux de modifications d'une base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les fonctions de lecture de flux de modifications pour lesquelles le droit de contrôle des accès ultraprécis EXECUTE est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
SPECIFIC_CATALOG STRING Nom du catalogue de la routine. Toujours une chaîne vide.
SPECIFIC_SCHEMA STRING Nom du schéma de la routine. Toujours une chaîne vide.
SPECIFIC_NAME STRING Nom de la routine. Identifie de manière unique la routine, même si son nom est surchargé.
ROUTINE_CATALOG STRING Nom du catalogue de la routine. Toujours une chaîne vide.
ROUTINE_SCHEMA STRING Nom du schéma de la routine. Toujours une chaîne vide.
ROUTINE_NAME STRING Nom de la routine. (Peut être dupliqué en cas de surcharge.)
ROUTINE_TYPE STRING Type de la routine (FUNCTION ou PROCEDURE). Toujours FUNCTION.
DATA_TYPE STRING Type de données renvoyé par la routine
ROUTINE_BODY STRING Type du corps de la routine (SQL ou EXTERNAL).
ROUTINE_DEFINITION STRING Définition de ROUTINE_BODY.
SECURITY_TYPE STRING Type de sécurité de la routine. Toujours INVOKER.

ROUTINE_OPTIONS

Cette table filtrée par ligne contient une ligne pour chaque option de chaque fonction de lecture de flux de modifications définie.

Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les options des fonctions de lecture de flux de modifications pour lesquelles le droit de contrôle ultraprécis des accès EXECUTE est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
SPECIFIC_CATALOG STRING Nom du catalogue de la routine. Toujours une chaîne vide.
SPECIFIC_SCHEMA STRING Nom du schéma de la routine. Toujours une chaîne vide.
SPECIFIC_NAME STRING Nom de la routine. Identifie de manière unique la routine en cas de surcharge de nom.
OPTION_NAME STRING Identifiant SQL qui identifie l'option de manière unique.
OPTION_TYPE STRING Type de données de OPTION_VALUE.
OPTION_VALUE STRING Littéral SQL décrivant la valeur de cette option. La valeur de cette colonne doit pouvoir être analysée dans le cadre d'une requête.

PARAMETERS

Cette table filtrée par ligne définit les arguments de chaque fonction de lecture de flux de modifications. Chaque ligne décrit un argument pour une fonction de lecture de flux de modifications.

Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les paramètres des fonctions de lecture de flux de modifications pour lesquelles le droit de contrôle des accès ultraprécis EXECUTE est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
SPECIFIC_CATALOG STRING Nom du catalogue de la routine. Toujours une chaîne vide.
SPECIFIC_SCHEMA STRING Nom du schéma de la routine. Toujours une chaîne vide.
SPECIFIC_NAME STRING Nom de la routine. Identifie de manière unique la routine en cas de surcharge de nom.
ORDINAL_POSITION INT64 Position ordinale du paramètre dans la routine, en commençant par la valeur 1.
PARAMETER_NAME STRING Nom du paramètre.
DATA_TYPE STRING Type de données du paramètre.
PARAMETER_DEFAULT STRING Valeur par défaut du paramètre ou NULL pour les paramètres qui n'ont pas de valeur par défaut.

ROUTINE_PRIVILEGES

Cette table filtrée par ligne liste tous les droits de contrôle des accès ultraprécis accordés sur toutes les fonctions de lecture de flux de modifications à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les fonctions de lecture du flux de modifications au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
SPECIFIC_CATALOG STRING Nom du catalogue de la routine. Toujours une chaîne vide.
SPECIFIC_SCHEMA STRING Nom du schéma de la routine. Toujours une chaîne vide.
SPECIFIC_NAME STRING Nom de la routine. Identifie de manière unique la routine en cas de surcharge de nom.
PRIVILEGE_TYPE STRING Toujours EXECUTE.
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.

ROLE_TABLE_GRANTS

Cette table filtrée par ligne liste tous les droits de contrôle ultraprécis des accès accordés sur toutes les tables et vues à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les tables et les vues au rôle de base de données actuel et aux rôles dont le rôle de base de données actuel est membre, à l'exception de public.

Nom de colonne Type Description
GRANTOR STRING Non utilisé. Toujours NULL.
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Non utilisé. Toujours une chaîne vide.
TABLE_NAME STRING Nom de la table ou de la vue.
PRIVILEGE_TYPE STRING Type de privilège (SELECT, INSERT, UPDATE ou DELETE).
IS_GRANTABLE STRING Non utilisé. Toujours NO.

ROLE_COLUMN_GRANTS

Cette table filtrée par ligne liste tous les droits de contrôle des accès ultraprécis accordés sur toutes les colonnes à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les colonnes au rôle de base de données actuel et aux rôles dont le rôle de base de données actuel est membre, à l'exception de public.

La vue inclut les droits SELECT, INSERT et UPDATE que la colonne hérite de la table ou de la vue qui la contient.

Nom de colonne Type Description
GRANTOR STRING Non utilisé. Toujours NULL.
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.
TABLE_CATALOG STRING Non utilisé. Toujours une chaîne vide.
TABLE_SCHEMA STRING Non utilisé. Toujours une chaîne vide.
TABLE_NAME STRING Nom de la table ou de la vue contenant la colonne.
COLUMN_NAME STRING Nom de la colonne sur laquelle le droit est accordé.
PRIVILEGE_TYPE STRING Type de privilège (SELECT, INSERT ou UPDATE).
IS_GRANTABLE STRING Non utilisé. Toujours NO.

ROLE_CHANGE_STREAM_GRANTS

Cette table filtrée par ligne liste les droits SELECT accordés sur tous les flux de modifications à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les flux de modifications au rôle de base de données actuel et aux rôles dont le rôle de base de données actuel est membre, à l'exception de public.

Nom de colonne Type Description
CHANGE_STREAM_CATALOG STRING Non utilisé. Toujours une chaîne vide.
CHANGE_STREAM_SCHEMA STRING Nom du schéma contenant le flux de modifications.
CHANGE_STREAM_NAME STRING Nom du flux de modifications.
PRIVILEGE_TYPE STRING Type de privilège (SELECT uniquement).
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.

ROLE_MODEL_GRANTS

Cette table filtrée par ligne liste tous les droits de contrôle des accès ultraprécis accordés sur tous les modèles à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont obtenu l'accès au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les tables et les vues au rôle de base de données actuel et aux rôles dont le rôle de base de données actuel est membre, à l'exception de public.

Nom de colonne Type Description
GRANTOR STRING Non utilisé. Toujours NULL.
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.
MODEL_CATALOG STRING Non utilisé. Toujours une chaîne vide.
MODEL_SCHEMA STRING Non utilisé. Toujours une chaîne vide.
MODEL_NAME STRING Nom du modèle.
PRIVILEGE_TYPE STRING Type de privilège (EXECUTE).
IS_GRANTABLE STRING Non utilisé. Toujours NO.

ROLE_ROUTINE_GRANTS

Cette table filtrée par ligne liste les droits EXECUTE accordés sur toutes les fonctions de lecture de flux de modifications à n'importe quel rôle de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordés sur les fonctions de lecture du flux de modifications au rôle de base de données actuel et aux rôles dont le rôle de base de données actuel est membre, à l'exception de public.

Nom de la colonne Type Description
GRANTOR STRING Non utilisé. Toujours NULL.
GRANTEE STRING Nom du rôle auquel le droit est accordé.
SPECIFIC_CATALOG STRING Nom du catalogue de routines.
SPECIFIC_SCHEMA STRING Nom du schéma de la routine.
SPECIFIC_NAME STRING Nom de la routine. Identifie de manière unique la routine en cas de surcharge de nom.
PRIVILEGE_TYPE STRING Type de privilège accordé. Toujours EXECUTE.
IS_GRANTABLE STRING Non utilisé. Toujours NO.

MODELS

Cette table liste tous les modèles d'une base de données.

Nom de la colonne Type Description
MODEL_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
MODEL_SCHEMA STRING Nom du schéma de ce modèle. Toujours une chaîne vide.
MODEL_NAME STRING Nom du modèle.
IS_REMOTE BOOL TRUE s'il s'agit d'un modèle distant. FALSE s'il s'agit d'un modèle géré.

MODEL_OPTIONS

Ce tableau contient les options de configuration des modèles.

Nom de la colonne Type Description
MODEL_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
MODEL_SCHEMA STRING Nom du schéma de ce modèle. Toujours une chaîne vide.
MODEL_NAME STRING Nom du modèle.
OPTION_NAME STRING Nom de l'option de modèle.
OPTION_TYPE STRING Type de données de l'option de modèle.
OPTION_VALUE STRING Valeur de l'option de modèle.

MODEL_COLUMNS

Ce tableau liste les colonnes d'un modèle.

Nom de la colonne Type Description
MODEL_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
MODEL_SCHEMA STRING Nom du schéma de ce modèle. Toujours une chaîne vide.
MODEL_NAME STRING Nom du modèle.
COLUMN_KIND STRING Type de colonne du modèle. "INPUT" ou "OUTPUT".
COLUMN_NAME STRING Nom de la colonne.
DATA_TYPE STRING Type de données SQL standard de la colonne.
ORDINAL_POSITION INT64 Position ordinale de la colonne, en commençant par la valeur 1, pour conserver l'ordre des colonnes déclarées.
IS_EXPLICIT BOOL TRUE si la colonne a été spécifiée explicitement dans le LDD, FALSE si la colonne a été découverte à partir du point de terminaison.

MODEL_COLUMN_OPTIONS

Ce tableau contient les options de configuration des colonnes du modèle.

Nom de la colonne Type Description
MODEL_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
MODEL_SCHEMA STRING Nom du schéma de ce modèle. Toujours une chaîne vide.
MODEL_NAME STRING Nom du modèle.
COLUMN_KIND STRING Type de colonne du modèle. "INPUT" ou "OUTPUT".
COLUMN_NAME STRING Nom de la colonne.
OPTION_NAME STRING Nom de l'option de colonne du modèle.
OPTION_TYPE STRING Type de données de l'option de colonne du modèle.
OPTION_VALUE STRING Valeur de l'option de colonne du modèle.

MODEL_PRIVILEGES

Cette table filtrée par ligne liste tous les droits accordés au niveau du modèle aux rôles de base de données, y compris public. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir les droits que pour les modèles sur lesquels le droit de EXECUTE contrôle ultraprécis des accès est accordé au rôle de base de données actuel, aux rôles dont le rôle de base de données actuel est membre ou à public.

Nom de la colonne Type Description
MODEL_CATALOG STRING Non utilisé. Toujours une chaîne vide.
MODEL_SCHEMA STRING Non utilisé. Toujours une chaîne vide.
MODEL_NAME STRING Nom du modèle sur lequel les droits de contrôle ultraprécis des accès sont accordés.
PRIVILEGE_TYPE STRING EXECUTE>
GRANTEE STRING Nom du rôle de base de données auquel ce droit est accordé.

PROPERTY_GRAPHS

Cette table filtrée par ligne liste les graphiques de propriétés de la base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux qui ont été autorisés à accéder au rôle système spanner_info_reader ou aux membres de ce rôle peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir les graphiques de propriétés que s'ils remplissent les conditions requises pour voir toutes les tables utilisées pour définir ces graphiques.

Nom de la colonne Type Description
PROPERTY_GRAPH_CATALOG STRING Nom du catalogue. Toujours une chaîne vide.
PROPERTY_GRAPH_SCHEMA STRING Nom du schéma. Chaîne vide si elle n'est pas nommée.
PROPERTY_GRAPH_NAME STRING Nom du graphique de propriété.
PROPERTY_GRAPH_METADATA_JSON JSON Définition du graphe de propriétés au format JSON.

La colonne PROPERTY_GRAPH_METADATA_JSON contient un objet JSON PropertyGraph défini comme suit :

Nom de l'objet JSON Nom du champ Type JSON Description
PropertyGraph catalog string Nom du catalogue. Toujours une chaîne vide.
schema string Nom du schéma. Chaîne vide si elle n'est pas nommée.
name string Nom du graphique de propriété.
nodeTables array<object> Liste d'objets GraphElementTable pour les nœuds.
edgeTables array<object> Liste d'objets GraphElementTable pour les bords.
labels array<object> Liste d'objets GraphElementLabel.
propertyDeclarations array<object> Liste d'objets GraphPropertyDeclaration.
GraphElementTable name string Nom de la table d'éléments de graphique.
kind string NODE ou EDGE.
baseCatalogName string Nom du catalogue contenant la table de base.
baseSchemaName string Nom du schéma contenant la table de base.
baseTableName string Nom de la table d'entrée à partir de laquelle les éléments sont créés.
keyColumns array<string> Noms des colonnes qui constituent la clé de l'élément.
labelNames array<string> Noms des libellés associés à ce tableau d'éléments.
propertyDefinitions array<object> Liste d'objets GraphPropertyDefinition.
dynamicLabelExpr string Nom de la colonne contenant la définition DYNAMIC LABEL.
dynamicPropertyExpr string Nom de la colonne contenant la définition DYNAMIC PROPERTIES.
sourceNodeTable object Un objet GraphNodeTableReference. N'existe que lorsque kind est EDGE.
destinationNodeTable object Un objet GraphNodeTableReference. N'existe que lorsque kind est EDGE.
GraphNodeTableReference nodeTableName string Nom de la table d'éléments de graphique.
edgeTableColumns array<string> Nom des colonnes associées aux clés source et de destination des arêtes.
nodeTableColumns array<string> Nom des colonnes associées aux clés source et de destination des nœuds.
GraphElementLabel name string Nom de l'étiquette.
propertyDeclarationNames array<string> Noms des propriétés associées à ce libellé.
GraphPropertyDeclaration name string Nom de la propriété.
type string Type de la propriété.
GraphPropertyDefinition propertyDeclarationName string Nom de la propriété.
valueExpressionSql string Expression qui définit la propriété.

Exemples

Renvoie des informations sur chaque table dans le schéma de l'utilisateur :

SELECT
  t.table_schema,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

Renvoyez le nom de toutes les tables dans INFORMATION_SCHEMA :

SELECT
  t.table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = "SPANNER_SYS"

Renvoyez des informations sur les colonnes de la table utilisateur MyTable dans le schéma par défaut :

SELECT
  t.column_name,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema = ''
  AND
  t.table_name = 'MyTable'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.ordinal_position

Renvoie des informations sur la région principale par défaut de la base de données. La fonction renvoie une valeur vide si la région principale par défaut n'est pas définie :

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.option_name = 'default_leader'

Renvoie des informations sur chaque index du schéma de l'utilisateur :

SELECT
  t.table_schema,
  t.table_name,
  t.index_name,
  t.parent_table_name
FROM
  information_schema.indexes AS t
WHERE
  t.table_catalog = ''
  AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
  AND
  t.index_type != 'PRIMARY_KEY'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name,
  t.index_name

Renvoie toutes les colonnes qui utilisent des options autres que celles par défaut :

SELECT
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_catalog = ''
AND
  t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')

Renvoie les options de base de données actuelles associées à l'optimiseur :

SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name=''
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

Renvoie tous les packages de statistiques disponibles :

SELECT
  *
FROM
  information_schema.spanner_statistics;

Renvoyer toutes les séquences :

SELECT
  *
FROM
  information_schema.sequences;

Renvoyer toutes les options de séquence pour la séquence nommée "MySequence"

SELECT
  *
FROM
  information_schema.sequence_options WHERE name="MySequence";

Renvoyez les noms de tous les graphiques de propriétés et leurs définitions :

SELECT
  property_graph_name,
  property_graph_metadata_json
FROM
  information_schema.property_graphs

Renvoyez les noms de tous les graphiques de propriétés, ainsi que leurs étiquettes et propriétés :

SELECT
  property_graph_name,
  property_graph_metadata_json.labels,
  property_graph_metadata_json.propertyDeclarations
FROM
  information_schema.property_graphs

Étapes suivantes

  • Découvrez les outils d'introspection disponibles pour vous aider à examiner les problèmes de base de données.