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

Un schéma d'informations est un schéma intégré commun à toutes les bases de données PostgreSQL. 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_name
  FROM
    information_schema.tables
  WHERE
    table_schema = 'public'

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
    • La page Requête 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.

Différences avec information_schema pour PostgreSQL

Les tables des bases de données information_schema pour les bases de données de dialecte PostgreSQL incluent des colonnes de les tables du information_schema pour PostgreSQL Open Source et mais aussi des colonnes de Spanner. Dans ces tableaux, les Les colonnes PostgreSQL Open Source apparaissent en premier, dans le même ordre qu'elles. pour une base de données PostgreSQL Open Source, et toute colonne distincte Spanner sont ajoutés par la suite. Les requêtes écrites pour la version PostgreSQL Open Source de information_schema devraient fonctionner sans modification lorsque vous utilisez des bases de données en dialecte PostgreSQL dans la CLI Google Cloud.

Voici d'autres différences notables dans les information_schema pour les bases de données en dialecte PostgreSQL :

  • Certaines des colonnes de table pour PostgreSQL Open Source sont disponibles, mais pas renseignées dans les bases de données en dialecte PostgreSQL.
  • Les bases de données utilisant le dialecte PostgreSQL utilisent public comme nom de schéma par défaut.
  • Les noms de contraintes générés automatiquement utilisent un format différent de Open Source PostgreSQL.
  • Les tables liées aux fonctionnalités PostgreSQL Open Source qui ne sont pas compatibles avec les bases de données en dialecte PostgreSQL ne sont pas disponibles.
  • Certaines tables disponibles avec Spanner, mais pas avec PostgreSQL Open Source, telles que database_options, index_columns, indexes et spanner_statistics, sont disponibles.

Filtrage des lignes dans les tables et les vues information_schema

Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader (ou aux membres de ce rôle) a été accordé peuvent voir toutes les lignes de toutes les tables et vues information_schema. Pour les autres comptes principaux, Spanner filtre les lignes en fonction du rôle de base de données actuel. La les descriptions des tables et des vues dans les sections suivantes indiquent Spanner filtre les lignes pour chaque table et vue.

Tables dans information_schema pour les bases de données de dialecte PostgreSQL

Les tables et les vues de la information_schema sont compatibles avec les tables et les vues de la information_schema de PostgreSQL Open Source.

Les sections suivantes décrivent les tables et les vues de information_schema pour les bases de données en dialecte PostgreSQL.

applicable_roles

Cette vue filtrée par ligne répertorie toutes les appartenances aux rôles qui sont 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 auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les adhésions aux rôles qui sont accordé au rôle de base de données actuel ou à un rôle dans lequel la base de données actuelle le rôle 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 pour l'appartenance implicite au rôle public.

Nom de colonne Type Description
grantee character varying Nom du rôle de base de données auquel l'appartenance est accordée.
role_name character varying Nom du rôle de base de données parent auquel cet appartenance est attribuée accordé.
is_grantable character varying Non utilisé. Toujours NO.

change_stream_columns

Cette vue filtrée par ligne contient des informations sur les colonnes du tableau et la modification les flux qui les regardent. 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 ne s'affichent pas dans cette vue.

Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peut 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 ou à public.

Nom de la colonne Type Description
change_stream_catalog character varying Nom de la base de données.
change_stream_schema character varying Nom du schéma du flux de modifications. Pour les bases de données de dialecte PostgreSQL, la valeur par défaut est public.
change_stream_name character varying Nom du flux de modifications.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma de la table. Pour les bases de données en dialecte PostgreSQL, la valeur par défaut est public.
table_name character varying Nom de la table à laquelle cette ligne fait référence.
column_name character varying Nom de la colonne à laquelle cette ligne fait référence.

change_stream_options

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

Nom de la colonne Type Description
change_stream_catalog character varying Nom de la base de données.
change_stream_schema character varying Nom du schéma du flux de modifications. Pour les bases de données de dialecte PostgreSQL, la valeur par défaut est public.
change_stream_name character varying Nom du flux de modifications.
option_name character varying Nom de l'option de flux de modifications.
option_type character varying Type de données de l'option de flux de modifications.
option_value character varying Valeur de l'option de flux de modifications.

change_stream_privileges

Cette vue filtrée par ligne liste tous les droits de contrôle des accès précis accordés pour toutes les modifications vers n'importe quel rôle de base de données, y compris public. Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres 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 colonne Type Description
grantor character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle de base de données auquel ce privilège est accordé.
change_stream_catalog character varying Nom de la base de données.
change_stream_schema character varying Nom du schéma contenant le flux de modifications. La valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
change_stream_name character varying Nom du flux de modifications.
privilege_type character varying Type de droit (SELECT uniquement).
is_grantable character varying Non utilisé. Toujours NO.

change_stream_tables

Cette vue filtrée par ligne contient des informations sur les tableaux et les flux de modifications qui les regardent. Chaque ligne décrit un tableau et un flux de modifications. Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé 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'ensemble de la base de données.

Nom de la colonne Type Description
change_stream_catalog character varying Nom de la base de données.
change_stream_schema character varying Nom du schéma du flux de modifications. Pour les bases de données en dialecte PostgreSQL, la valeur par défaut est public.
change_stream_name character varying Nom du flux de modifications auquel cette ligne fait référence.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma de la table. Pour les bases de données en dialecte PostgreSQL, la valeur par défaut est public.
table_name character varying Nom de la table à laquelle cette ligne fait référence.
all_columns character varying YES si le flux de modifications de cette ligne suit l'intégralité du tableau auquel elle fait référence. Dans le cas contraire, cette valeur est définie sur NO. Conformément à la norme SQL, la chaîne comprend une valeur YES ou NO à la place d'une valeur booléenne.

change_streams

Cette vue filtrée par ligne répertorie tous les flux de modifications d'une base de données et indique ceux permettent de suivre l'ensemble de la base de données par rapport à des tableaux ou des colonnes spécifiques. Comptes principaux disposant d'autorisations IAM au niveau de la base de données, et de comptes principaux a été autorisé à accéder au rôle système spanner_info_reader ou à des membres de ce peut voir toutes les lignes de cette vue. Tous les autres principaux ne peuvent voir que les flux de modifications pour lesquels l'autorisation de contrôle des accès précis SELECT est accordée 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 character varying Nom de la base de données.
change_stream_schema character varying Nom du schéma de ce flux de modifications. Pour les bases de données de dialecte PostgreSQL, la valeur par défaut est public.
change_stream_name character varying Nom du flux de modifications.
all character varying YES si ce flux de modifications suit l'intégralité de la base de données. NO si ce flux de modifications suit des tables ou des colonnes spécifiques. Conformément à la norme SQL, la chaîne est YES. ou NO, plutôt qu'une valeur booléenne.

check_constraints

La vue check_constraints contient une ligne pour chaque contrainte de vérification définie par le mot clé CHECK ou NOT NULL.

Nom de la colonne Type Description
constraint_catalog character varying Nom de la base de données.
constraint_schema character varying Nom du schéma de la contrainte. La valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
constraint_name character varying Nom de la contrainte. Si le nom de la contrainte n'est pas explicitement spécifié dans le schéma, le nom généré automatiquement est utilisé.
check_clause character varying Expression de la contrainte de vérification.
spanner_state character varying État actuel de la contrainte de vérification. Les états possibles sont les suivants :
  • VALIDATING : la base de données en dialecte PostgreSQL valide les données existantes pour une commande ALTER CONSTRAINT ou ADD CONSTRAINT.
  • COMMITTED : il n'existe aucune modification de schéma active pour cette contrainte.

column_column_usage

Cette vue répertorie toutes les colonnes générées qui dépendent d'une autre colonne de base dans le même tableau.

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table. Le nom est public 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 character varying Nom de la table contenant les colonnes générées.
column_name character varying Nom de la colonne de base sur laquelle la colonne générée dépend.
dependent_column character varying Nom de la colonne générée.

column_options

Cette vue liste toutes les options définies pour les colonnes de tableau référencées d'une une contrainte de clé étrangère. La vue ne contient que ces colonnes dans la référence à laquelle l'utilisateur actuel a accès (en tant que propriétaire ou autorisé droits d'accès).

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table étrangère. Son nom est public pour le schéma par défaut et non vide pour les autres schémas (par (par exemple, le information_schema lui-même). Cette colonne n'est jamais nulle.
table_name character varying Nom de la table étrangère.
column_name character varying Nom de la colonne.
option_name character varying Identifiant SQL qui identifie l'option de manière unique. Il est la clé de la clause OPTIONS en DDL.
option_value character varying Littéral SQL décrivant la valeur de cette option. La valeur de ce paramètre peut être analysée dans le cadre d'une requête.
option_type character varying Nom de type de données qui correspond au type de cette valeur d'option.

column_privileges

Cette vue filtrée par ligne répertorie tous les droits de contrôle des accès précis accordés sur toutes les colonnes. à n'importe quel rôle de base de données, y compris public. Comptes principaux disposant d'IAM les autorisations au niveau de la base de données et les comptes principaux autorisés à accéder le 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 principaux ne peuvent voir que les droits accordés sur les colonnes 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.

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 character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle de base de données auquel ce droit est attribué accordé.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table ou la vue. La la valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
table_name character varying Nom de la table ou de la vue contenant la colonne.
column_name character varying Nom de la colonne.
privilege_type character varying Type de privilège (SELECT, INSERT ou UPDATE).
is_grantable character varying Non utilisé. Toujours NO.

columns

Cette vue filtrée par ligne fournit des informations sur toutes les colonnes et la vue de la table colonnes de la base de données. Les comptes principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres principaux ne peuvent voir que les colonnes auxquelles des droits de contrôle des accès précis sont accordés (ou les droits SELECT, INSERT ou UPDATE accordés aux tables qui les contiennent) 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 character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table. Le nom est public 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 character varying Nom de la table
column_name character varying Nom de la colonne
ordinal_position BIGINT Position ordinale de la colonne dans le tableau, commençant par la valeur 1
column_default character varying Représentation sous forme de chaîne de l'expression PostgreSQL Open Source de la valeur par défaut de la colonne, par exemple '9'::bigint.
is_nullable character varying Chaîne qui indique si la colonne peut être vide. Conformément à la norme SQL, la chaîne comprend une valeur YES ou NO à la place d'une valeur booléenne.
data_type character varying Type de données de la colonne. La valeur est l'une des suivantes:
  • Pour les types intégrés, le nom du type de données.
  • Pour les tableaux, la valeur ARRAY.
character_maximum_length BIGINT Longueur maximale déclarée pour les types de données de chaîne de caractères et de bits. Si aucune longueur maximale n'a été spécifiée, la valeur est NULL. Si le type de données de la colonne n'est pas une chaîne de caractères ou de bits, la valeur est NULL.
character_octet_length BIGINT Non utilisé. La valeur est toujours NULL.
numeric_precision BIGINT Précision du type de données numériques de la colonne actuelle. Pour double precision, la valeur est 53. Pour bigint, la valeur est 64. Pour tous les autres types de données, la valeur est NULL.
numeric_precision_radix BIGINT Base (unité) de la précision pour les types numériques. Seules deux valeurs sont acceptées :
  • 2 pour double precision float8 et bigint
  • 10 pour numeric
Pour tous les autres types de données, la valeur est NULL.
numeric_scale BIGINT Inclut l'échelle du type de colonne numérique, qui correspond au nombre d'unités de base de précision après le point de base. Pour bigint, la valeur est 0. Pour tous les autres types de données, la valeur est NULL.
datetime_precision BIGINT Non utilisé. La valeur est toujours NULL.
interval_type character varying Non utilisé. La valeur est toujours NULL.
interval_precision BIGINT Non utilisé. La valeur est toujours NULL.
character_set_catalog character varying Non utilisé. La valeur est toujours NULL.
character_set_schema character varying Non utilisé. La valeur est toujours NULL.
character_set_name character varying Non utilisé. La valeur est toujours NULL.
collation_catalog character varying Non utilisé. La valeur est toujours NULL.
collation_schema character varying Non utilisé. La valeur est toujours NULL.
collation_name character varying Non utilisé. La valeur est toujours NULL.
domain_catalog character varying Non utilisé. La valeur est toujours NULL.
domain_schema character varying Non utilisé. La valeur est toujours NULL.
domain_name character varying Non utilisé. La valeur est toujours NULL.
udt_catalog character varying Non utilisé. La valeur est toujours NULL.
udt_schema character varying Non utilisé. La valeur est toujours NULL.
udt_name character varying Non utilisé. La valeur est toujours NULL.
scope_catalog character varying Non utilisé. La valeur est toujours NULL.
scope_schema character varying Non utilisé. La valeur est toujours NULL.
scope_name character varying Non utilisé. La valeur est toujours NULL.
maximum_cardinality BIGINT Non utilisé. La valeur est toujours NULL.
dtd_identifier character varying Non utilisé. La valeur est toujours NULL.
is_self_referencing character varying Non utilisé. La valeur est toujours NULL.
is_identity character varying Non utilisé. La valeur est toujours NULL.
identity_generation character varying Non utilisé. La valeur est toujours NULL.
identity_start character varying Non utilisé. La valeur est toujours NULL.
identity_increment character varying Non utilisé. La valeur est toujours NULL.
identity_maximum character varying Non utilisé. La valeur est toujours NULL.
identity_minimum character varying Non utilisé. La valeur est toujours NULL.
identity_cycle character varying Non utilisé. La valeur est toujours NULL.
is_generated character varying 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 character varying Chaîne représentant l'expression SQL d'une colonne générée, ou NULL si la colonne n'est pas une colonne générée.
is_updatable character varying Non utilisé. La valeur est toujours NULL.
spanner_type character varying Chaîne contenant le type de colonne compatible avec le LDD.
is_stored character varying Chaîne qui indique si la colonne générée est stockée. La chaîne est toujours YES ou NO pour les colonnes générées, et NULL pour les colonnes non générées.
spanner_state character varying É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 :
  • NO_WRITE: aucune lecture ni écriture n'est autorisée dans les colonnes. Une colonne générée stockée dans cet état n'a aucun effet sur le client.
  • WRITE_ONLY : la colonne est en cours de remplissage. Aucune lecture n'est autorisée.
  • COMMITTED : la colonne est entièrement utilisable.
  • NULL: utilisé pour les colonnes dans les schémas système.

constraint_column_usage

Cette vue contient une ligne pour chaque colonne utilisée par une contrainte.

  • Pour les contraintes PRIMARY KEY et CHECK définies par NOT NULL la vue contient ces colonnes.
  • Pour les contraintes CHECK créées avec le mot clé CHECK, la vue inclut les colonnes utilisées par l'expression de contrainte de vérification.
  • Pour les contraintes de clé étrangère, la vue contient les colonnes de la table référencée.
  • Pour les contraintes UNIQUE, la vue contient les colonnes de KEY_COLUMN_USAGE.

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table contenant la colonne utilisée par la contrainte.
table_name character varying Nom de la table contenant la colonne utilisée par la contrainte.
column_name character varying Nom de la colonne utilisée par la contrainte.
constraint_catalog character varying Nom de la base de données.
constraint_schema character varying Nom du schéma de la contrainte.
constraint_name character varying Nom de la contrainte.

constraint_table_usage

Cette vue contient une ligne pour chaque table utilisée par une contrainte. Pour les contraintes FOREIGN KEY, les informations de table concernent les tables de l'élément REFERENCES. . Pour une contrainte de clé primaire ou unique, cette vue identifie la table à laquelle la contrainte appartient. Vérifiez que les contraintes et les contraintes "non nulles" qui ne sont pas incluses dans cette vue.

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma de la table avec des contraintes.
table_name character varying Nom de la table utilisée par une contrainte.
constraint_catalog character varying Nom de la base de données.
constraint_schema character varying Nom du schéma contenant la contrainte.
constraint_name character varying Nom de la contrainte.

database_options

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

Nom de la colonne Type Description
catalog_name character varying Nom de la base de données.
schema_name character varying Nom du schéma. La valeur par défaut est public pour Bases de données de dialecte PostgreSQL
option_name character varying Nom de l'option de base de données. Il s'agit de la valeur de key dans la clause OPTIONS en DDL.
option_type character varying Type de données de l'option de base de données.
option_value character varying Valeur de l'option de base de données.

enabled_roles

Cette vue filtrée par ligne répertorie les rôles de base de données définis. Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir tous les rôles de base de données. Tous les autres comptes principaux ne peuvent voir que de base de données auxquels l'accès leur a été accordé, directement ou via l'héritage. Tous les rôles système, à l'exception de public, apparaissent également dans cette vue.

Nom de colonne Type Description
role_name character varying Nom du rôle.
spanner_is_system character varying YES si le rôle est un rôle système. Sinon, NO.

index_columns

Cette vue répertorie les colonnes d'un index.

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant l'index. La valeur par défaut est public
table_name character varying Nom de la table associée à l'index.
index_name character varying Nom de l'index. Les tables dotées d'une spécification PRIMARY KEY possèdent une entrée de pseudo-index générée avec le nom PRIMARY_KEY.
index_type character varying Type d'index. Les valeurs possibles sont PRIMARY_KEY, LOCAL ou GLOBAL.
column_name character varying Nom de la colonne.
ordinal_position BIGINT La position ordinale de la colonne dans l'index (ou clé primaire), commençant par la valeur 1. Cette valeur est NULL pour les valeurs non-clé colonnes (par exemple, les colonnes spécifiées dans Clause INCLUDE d'un index).
column_ordering character varying Ordre de tri de la colonne. La valeur est ASC ou DESC pour les colonnes de clé et NULL pour les colonnes non-clé colonnes (par exemple, les colonnes spécifiées dans STORING d'un index).
is_nullable character varying Chaîne qui indique si la colonne peut être vide. Conformément à la norme SQL, la chaîne comprend une valeur YES ou NO à la place d'une valeur booléenne.
spanner_type character varying Chaîne contenant le type de colonne compatible avec le LDD.

indexes

Cette vue répertorie les index d'un schéma.

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma. La valeur par défaut est public.
table_name character varying Nom de la table.
index_name character varying Nom de l'index. Les tables créées avec une clause PRIMARY KEY possèdent une entrée de pseudo-index générée avec le nom PRIMARY_KEY, ce qui permet d'identifier les champs de la clé primaire.
index_type character varying Type d'index. Les valeurs sont PRIMARY_KEY, LOCAL ou GLOBAL.
parent_table_name character varying Les index secondaires peuvent être entrelacés dans une table parente, comme expliqué dans la section Créer un index secondaire. Cette colonne contient le nom de la table parente, ou Une chaîne vide si l'index n'est pas entrelacé.
is_unique character varying Si les clés d'index doivent être uniques. Conformément aux directives SQL standard, la chaîne est YES ou NO, qu'une valeur booléenne.
is_null_filtered character varying Si l'index inclut des entrées dotées de valeurs NULL. Conformément à la norme SQL, la chaîne comprend une valeur YES ou NO à la place d'une valeur booléenne.
index_state character varying État actuel de l'index. Voici les valeurs possibles et les états qu'elles représentent :
  • NULL: le type d'index est PRIMARY_KEY.
  • PREPARE : création de tables vides pour un nouvel index
  • WRITE_ONLY : remplissage des données pour un nouvel index
  • WRITE_ONLY_CLEANUP : nettoyer un nouvel index
  • WRITE_ONLY_VALIDATE_UNIQUE: vérifier l'unicité des données dans un nouvel index
  • READ_WRITE : opération d'index normale
spanner_is_managed character varying Indique si l'index est géré par Spanner. Par exemple, les index de stockage secondaires pour les clés étrangères sont gérés par Spanner. La la chaîne est YES ou NO, et non une Valeur booléenne, conformément à la norme SQL.

information_schema_catalog_name

Ce tableau contient une ligne et une colonne contenant le nom de la base de données.

Nom de la colonne Type Description
catalog_name character varying Nom de la base de données.

key_column_usage

Cette vue identifie toutes les colonnes de la base de données actuelle qui sont référencées par une contrainte de clé primaire, de clé unique ou de clé étrangère. Pour en savoir plus sur CHECK de contraintes, consultez la vue check_constraints.

Nom de la colonne Type Description
constraint_catalog character varying Nom de la base de données.
constraint_schema character varying Nom du schéma de la contrainte. La valeur par défaut est public.
constraint_name character varying Nom de la contrainte.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table contenant la colonne avec des contraintes. La valeur par défaut est public.
table_name character varying Nom de la table contenant la colonne soumise à des restrictions cette contrainte.
column_name character varying Nom de la colonne avec des contraintes.
ordinal_position BIGINT La position ordinale de la colonne dans la clé de la contrainte, à partir du dont la valeur est 1.
position_in_unique_constraint BIGINT Pour la valeur FOREIGN KEY, la position ordinale de la colonne dans la contrainte unique, commençant par la valeur 1. Cette colonne affiche une valeur NULL pour les autres types de contraintes.

parameters

Cette vue filtrée par ligne définit les arguments de chaque lecture du 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 auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres principaux ne peuvent voir que les paramètres des fonctions de lecture du flux de modifications sur lesquels l'autorisation de contrôle des accès précis EXECUTE est accordée 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 character varying Nom de la base de données.
specific_schema character varying Nom du schéma de la routine. Pour les bases de données de dialecte PostgreSQL, la valeur par défaut est public.
specific_name character varying Nom de la routine. Identifie la routine de manière unique, même si son nom est surchargé.
ordinal_position bigint Position ordinale du paramètre dans la liste d'arguments de la routine, commençant par la valeur 1.
parameter_mode character varying Non utilisé. Toujours NULL.
is_result character varying Non utilisé. Toujours NULL.
as_locator character varying Non utilisé. Toujours NULL.
parameter_name character varying Nom du paramètre.
data_type character varying Type de données du paramètre. Cette valeur est l'une des suivi:
  • Pour les types intégrés, le nom du type de données.
  • Pour les tableaux, la valeur ARRAY.
character_maximum_length bigint Non utilisé. Toujours NULL.
character_octet_length bigint Non utilisé. La valeur est toujours NULL.
character_set_catalog character varying Non utilisé. La valeur est toujours NULL.
character_set_schema character varying Non utilisé. La valeur est toujours NULL.
character_set_name character varying Non utilisé. La valeur est toujours NULL.
collation_catalog character varying Non utilisé. La valeur est toujours NULL.
collation_schema character varying Non utilisé. La valeur est toujours NULL.
collation_name character varying Non utilisé. La valeur est toujours NULL.
numeric_precision bigint Non utilisé. La valeur est toujours NULL.
numeric_precision_radix bigint Non utilisé. La valeur est toujours NULL.
numeric_scale bigint Non utilisé. La valeur est toujours NULL.
datetime_precision bigint Non utilisé. La valeur est toujours NULL.
interval_type character varying Non utilisé. La valeur est toujours NULL.
interval_precision bigint Non utilisé. La valeur est toujours NULL.
udt_catalog character varying Non utilisé. La valeur est toujours NULL.
udt_schema character varying Non utilisé. La valeur est toujours NULL.
udt_name character varying Non utilisé. La valeur est toujours NULL.
scope_catalog character varying Non utilisé. La valeur est toujours NULL.
scope_schema character varying Non utilisé. La valeur est toujours NULL.
scope_name character varying Non utilisé. La valeur est toujours NULL.
maximum_cardinality bigint Non utilisé. La valeur est toujours NULL.
dtd_identifier character varying Non utilisé. La valeur est toujours NULL.
parameter_default character varying Non utilisé. La valeur est toujours NULL.

placements

Ce tableau répertorie les emplacements dans la base de données.

Nom de la colonne Type Description
placement_name character varying Nom de l'emplacement.
is_default character varying Chaîne qui indique si la colonne peut être vide. Conformément à la norme SQL, la chaîne comprend une valeur YES ou NO à la place d'une valeur booléenne.

placement-options

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

Nom de la colonne Type Description
placement_name character varying Nom de l'emplacement.
option_name character varying Nom de l'option d'emplacement. Les valeurs valides pour Les option_name incluent:
  • instance_partition
  • default_leader
option_type character varying Type de données de l'option d'emplacement.
option_value character varying Valeur de l'option d'emplacement. Pour instance_partition, il s'agit du nom de la partition de l'instance. Pour default_leader, il s'agit du nom de la région principale par défaut.

referential_constraints

Cette vue contient une ligne pour chaque contrainte FOREIGN KEY. Vous ne pouvez voir que les contraintes pour lesquelles vous disposez d'un accès en écriture à la table de référence. Cette vue identifie également les contraintes PRIMARY KEY et UNIQUE sur les tables référencées que les clés étrangères utilisent pour l'application des contraintes et les actions de référence.

Nom de la colonne Type Description
constraint_catalog character varying Nom de la base de données.
constraint_schema character varying Nom du schéma contenant la contrainte de clé étrangère. La la valeur par défaut est public.
constraint_name character varying Nom de la contrainte de clé étrangère.
unique_constraint_catalog character varying Nom de la base de données.
unique_constraint_schema character varying Nom du schéma contenant la contrainte de clé unique ou primaire auquel la contrainte de clé étrangère fait référence.
unique_constraint_name character varying Nom de la contrainte de clé primaire ou unique référencée par la contrainte de clé étrangère.
match_option character varying Méthode de correspondance utilisée par la contrainte de clé étrangère. La valeur est toujours NONE
update_rule character varying Règle de mise à jour de la contrainte de clé étrangère. Cette valeur est toujours NO ACTION.
delete_rule character varying Règle de suppression de la contrainte de clé étrangère. Cette valeur est soit CASCADE ou NO ACTION.
spanner_state character varying État actuel de la clé étrangère. Spanner ne commence à appliquer la contrainte que lorsque les index de stockage de la clé étrangère sont créés et remplis. Une fois les index prêts, Spanner commence à appliquer la contrainte pour les nouvelles transactions pendant qu'elle valide des 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 validé.
  • WAITING_FOR_COMMIT: les opérations groupées de clé étrangère ont s’est terminée avec succès, ou qu’aucune n’était nécessaire, mais la clé étrangère est toujours en attente.
  • COMMITTED: la modification de schéma a été validée.

role_change_stream_grants

Cette vue filtrée par ligne liste les droits SELECT accordés pour toutes les modifications vers n'importe quel rôle de base de données, y compris public. Les comptes principaux ayant autorisations IAM au niveau de la base de données et comptes principaux qui ont été a été autorisé à accéder au rôle système spanner_info_reader ou à des membres de ce peut voir toutes les lignes de cette vue. Tous les autres 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
grantor character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle de base de données auquel ce privilège est accordé.
change_stream_catalog character varying Nom de la base de données.
change_stream_schema character varying Nom du schéma contenant le flux de modifications. La valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
change_stream_name character varying Nom du flux de modifications.
privilege_type character varying Type de droit (SELECT uniquement).
is_grantable character varying Non utilisé. Toujours NO.

role_column_grants

Cette vue filtrée par ligne répertorie tous les droits de contrôle des accès précis accordés sur toutes les colonnes. à n'importe quel rôle de base de données, y compris public. Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres 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 character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle de base de données auquel ce droit est attribué accordé.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table ou la vue. La la valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
table_name character varying Nom de la table ou de la vue contenant la colonne.
column_name character varying Nom de la colonne.
privilege_type character varying Type de privilège (SELECT, INSERT ou UPDATE).
is_grantable character varying Non utilisé. Toujours NO.

role_routine_grants

Cette vue filtrée par ligne liste les droits EXECUTE accordés pour toutes les modifications diffuser des fonctions de lecture vers n'importe quel rôle de base de données, y compris public ; Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres 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 character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle auquel le droit a été accordé.
specific_catalog character varying Nom de la base de données.
specific_schema character varying Nom du schéma de la routine. Pour les bases de données de dialecte PostgreSQL, la valeur par défaut est public.
specific_name character varying Nom de la routine. Identifie de manière unique la routine, même si son nom est surchargé.
routine_catalog character varying Nom de la base de données.
routine_schema character varying Nom du schéma de la routine. La valeur par défaut est public pour les bases de données en dialecte PostgreSQL.
routine_name character varying Nom de la routine. (peut être dupliqué en cas de overloading.)
privilege_type character varying Type de privilège accordé. Toujours EXECUTE.
is_grantable character varying Non utilisé. Toujours NO.

role_table_grants

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

Nom de colonne Type Description
grantor character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle de base de données auquel ce privilège est accordé.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table ou la vue. La valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
table_name character varying Nom de la table ou de la vue.
privilege_type character varying Type de privilège (SELECT, INSERT, UPDATE ou DELETE).
is_grantable character varying Non utilisé. Toujours NO.
with_hierarchy character varying Non utilisé. Toujours NULL.

routine_options

Cette vue filtrée par ligne contient une ligne pour chaque option, pour chaque modification définie. la fonction de lecture de flux.

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

Nom de la colonne Type Description
specific_catalog character varying Nom de la base de données.
specific_schema character varying Nom du schéma de la routine. La valeur par défaut est public pour les bases de données en dialecte PostgreSQL.
specific_name character varying Nom de la routine. Identifie de manière unique la routine, même si son nom est surchargé.
option_name character varying Nom de l'option.
option_type character varying Type de données de l'option. La valeur est l'une des suivantes:
  • Pour les types intégrés, il s'agit du nom du type de données.
  • Pour les tableaux, il s'agit de la valeur ARRAY.
option_value character varying Valeur de l'option.

routine_privileges

Cette vue filtrée par ligne liste tous les droits de contrôle des accès précis accordés pour toutes les modifications diffuser des fonctions de lecture vers n'importe quel rôle de base de données, y compris public ; Comptes principaux qui disposer d'autorisations IAM au niveau de la base de données, et des comptes principaux a été autorisé à accéder au rôle système spanner_info_reader ou à des membres de ce peut voir toutes les lignes de cette vue. Tous les autres comptes principaux ne peuvent voir que les droits accordé aux fonctions de lecture du flux de modifications au rôle de base de données actuel, aux rôles auxquels appartient le rôle actuel de base de données, ou à public.

Nom de la colonne Type Description
grantor character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle auquel le droit a été accordé.
specific_catalog character varying Nom de la base de données.
specific_schema character varying Nom du schéma de la routine. Pour les bases de données de dialecte PostgreSQL, la valeur par défaut est public.
specific_name character varying Nom de la routine. Identifie de manière unique la routine, même si son nom est surchargé.
routine_catalog character varying Nom de la base de données.
routine_schema character varying Nom du schéma de la routine. La valeur par défaut est public.
routine_name character varying Nom de la routine. (Peut être dupliqué en cas de surcharge.)
privilege_type character varying Type de droit accordé.
is_grantable character varying Non utilisé. Toujours NO.

routines

Cette vue filtrée par ligne répertorie toutes les fonctions de lecture du 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 auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres principaux ne peuvent voir que les fonctions de lecture du flux de modifications pour lesquelles le droit de contrôle des accès pré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 character varying Nom de la base de données.
specific_schema character varying Nom du schéma de la routine. La valeur par défaut est public pour les bases de données en dialecte PostgreSQL.
specific_name character varying Nom de la routine. Identifie la routine de manière unique, même si son nom est surchargé.
routine_catalog character varying Nom de la base de données.
routine_schema character varying Nom du schéma de la routine.
routine_name character varying Nom de la routine. (peut être dupliqué en cas de overloading.)
routine_type character varying Type de la routine (FUNCTION ou PROCEDURE). Toujours FUNCTION
module_catalog character varying Non utilisé. La valeur est toujours NULL.
module_schema character varying Non utilisé. La valeur est toujours NULL.
module_name character varying Non utilisé. La valeur est toujours NULL.
udt_catalog character varying Non utilisé. La valeur est toujours NULL.
udt_schema character varying Non utilisé. La valeur est toujours NULL.
udt_name character varying Non utilisé. La valeur est toujours NULL.
data_type character varying Type de retour de la routine. Cette valeur est l'une des suivi:
  • Pour les types intégrés, le nom du type de données.
  • Pour les tableaux, la valeur ARRAY.
character_maximum_length bigint Non utilisé. La valeur est toujours NULL.
character_octet_length bigint Non utilisé. La valeur est toujours NULL.
character_set_catalog character varying Non utilisé. La valeur est toujours NULL.
character_set_schema character varying Non utilisé. La valeur est toujours NULL.
character_set_name character varying Non utilisé. La valeur est toujours NULL.
collation_catalog character varying Non utilisé. La valeur est toujours NULL.
collation_schema character varying Non utilisé. La valeur est toujours NULL.
collation_name character varying Non utilisé. La valeur est toujours NULL.
numeric_precision bigint Non utilisé. La valeur est toujours NULL.
numeric_precision_radix bigint Non utilisé. La valeur est toujours NULL.
numeric_scale bigint Non utilisé. La valeur est toujours NULL.
datetime_precision bigint Non utilisé. La valeur est toujours NULL.
interval_type character varying Non utilisé. La valeur est toujours NULL.
interval_precision bigint Non utilisé. La valeur est toujours NULL.
type_udt_catalog character varying Non utilisé. La valeur est toujours NULL.
type_udt_schema character varying Non utilisé. La valeur est toujours NULL.
type_udt_name character varying Non utilisé. La valeur est toujours NULL.
scope_catalog character varying Non utilisé. La valeur est toujours NULL.
scope_schema character varying Non utilisé. La valeur est toujours NULL.
scope_name character varying Non utilisé. La valeur est toujours NULL.
maximum_cardinality bigint Non utilisé. La valeur est toujours NULL.
dtd_identifier character varying Non utilisé. La valeur est toujours NULL.
routine_body character varying Type du corps de la routine (SQL ou EXTERNAL).
routine_definition character varying Définition du code SQL routine_body, vide dans le cas contraire.
external_name character varying Non utilisé. La valeur est toujours NULL.
external_language character varying Non utilisé. La valeur est toujours NULL.
parameter_style character varying Non utilisé. La valeur est toujours NULL.
is_deterministic character varying Non utilisé. La valeur est toujours NULL.
sql_data_access character varying Non utilisé. La valeur est toujours NULL.
is_null_call character varying Non utilisé. La valeur est toujours NULL.
sql_path character varying Non utilisé. La valeur est toujours NULL.
schema_level_routine character varying Non utilisé. La valeur est toujours NULL.
max_dynamic_result_sets character varying Non utilisé. La valeur est toujours NULL.
is_user_defined_cast character varying Non utilisé. La valeur est toujours NULL.
is_implicitly_invocable character varying Non utilisé. La valeur est toujours NULL.
security_type character varying Type de sécurité de la routine. Seul INVOKER est compatibles.
to_sql_specific_catalog character varying Non utilisé. La valeur est toujours NULL.
to_sql_specific_schema character varying Non utilisé. La valeur est toujours NULL.
to_sql_specific_name character varying Non utilisé. La valeur est toujours NULL.
as_locator character varying Non utilisé. La valeur est toujours NULL.
created timestamp with time zone Non utilisé. La valeur est toujours NULL.
last_altered timestamp with time zone Non utilisé. La valeur est toujours NULL.
new_savepoint_level character varying Non utilisé. La valeur est toujours NULL.
is_udt_dependent character varying Non utilisé. La valeur est toujours NULL.
result_cast_from_data_type character varying Non utilisé. La valeur est toujours NULL.
result_cast_as_locator character varying Non utilisé. La valeur est toujours NULL.
result_cast_char_max_length bigint Non utilisé. La valeur est toujours NULL.
result_cast_char_octet_length bigint Non utilisé. La valeur est toujours NULL.
result_cast_char_set_catalog character varying Non utilisé. La valeur est toujours NULL.
result_cast_char_set_schema character varying Non utilisé. La valeur est toujours NULL.
result_cast_char_set_name character varying Non utilisé. La valeur est toujours NULL.
result_cast_collation_catalog character varying Non utilisé. La valeur est toujours NULL.
result_cast_collation_schema character varying Non utilisé. La valeur est toujours NULL.
result_cast_collation_name character varying Non utilisé. La valeur est toujours NULL.
result_cast_numeric_precision bigint Non utilisé. La valeur est toujours NULL.
result_cast_numeric_precision_radix bigint Non utilisé. La valeur est toujours NULL.
result_cast_numeric_scale bigint Non utilisé. La valeur est toujours NULL.
result_cast_datetime_precision bigint Non utilisé. La valeur est toujours NULL.
result_cast_interval_type character varying Non utilisé. La valeur est toujours NULL.
result_cast_interval_precision bigint Non utilisé. La valeur est toujours NULL.
result_cast_type_udt_catalog character varying Non utilisé. La valeur est toujours NULL.
result_cast_type_udt_schema character varying Non utilisé. La valeur est toujours NULL.
result_cast_type_udt_name character varying Non utilisé. La valeur est toujours NULL.
result_cast_scope_catalog character varying Non utilisé. La valeur est toujours NULL.
result_cast_scope_schema character varying Non utilisé. La valeur est toujours NULL.
result_cast_scope_name character varying Non utilisé. La valeur est toujours NULL.
result_cast_maximum_cardinality bigint Non utilisé. La valeur est toujours NULL.
result_cast_dtd_identifier character varying Non utilisé. La valeur est toujours NULL.

schemata

La vue information_schema.schemata contient une ligne pour chaque schéma de la base de données actuelle. Les schémas incluent le schéma d'informations et un schéma par défaut nommé public.

Nom de la colonne Type Description
catalog_name character varying Nom de la base de données.
schema_name character varying Nom du schéma. Cette valeur est définie sur public pour le schéma par défaut et non vide pour les schémas nommés.
schema_owner character varying Nom du propriétaire du schéma.
default_character_set_catalog character varying Non utilisé.
default_character_set_schema character varying Non utilisé.
default_character_set_name character varying Non utilisé.
sql_path character varying Non utilisé.
effective_timestamp timestamp with timezone Code temporel auquel toutes les données de ce schéma sont devenues efficace. Cette valeur n'est utilisée que pour le schéma par défaut.

sequences

La vue information_schema.sequences contient les métadonnées sequences.

Nom de la colonne Type Description
sequence_catalog character varying Nom de la base de données.
sequence_schema character varying Nom du schéma de la séquence. La valeur par défaut est public pour une base de données en dialecte PostgreSQL.
sequence_name character varying Nom de la séquence.
data_type character varying Sequence n'est compatible qu'avec int8.
numeric_precision bigint Non utilisé. La valeur est toujours "NULL".
numeric_precision_radix bigint Non utilisé. La valeur est toujours "NULL".
numeric_scale bigint Non utilisé. La valeur est toujours "NULL".
start_value bigint Non utilisé. La valeur est toujours "NULL".
minimum_value bigint Non utilisé. La valeur est toujours "NULL".
maximum_value bigint Non utilisé. La valeur est toujours "NULL".
increment bigint Non utilisé. La valeur est toujours "NULL".
cycle_option character varying La seule option acceptée par sequence est no.
sequence_kind character varying Type de séquence. bit_reversed_positive est la seule valeur acceptable.
counter_start_value bigint Valeur de départ du compteur de séquence.
skip_range_min bigint Valeur minimale dans la plage ignorée. Cette valeur est NULL s'il n'est pas défini.
skip_range_max bigint Valeur maximale dans la plage ignorée. Cette valeur est NULL si elle n'est pas définie.

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 character varying Nom de la base de données.
schema_name character varying Nom du schéma. La valeur de schéma par défaut est public.
package_name character varying Nom du package de statistiques.
allow_gc character varying Indique si le package de statistiques est exempté de la récupération de mémoire. Conformément à la norme SQL, la chaîne comprend une valeur YES ou NO à la place d'une valeur booléenne. Vous devez définir cet attribut à NO avant de pouvoir référencer le package de statistiques dans un ou via l'API cliente.

table_constraints

Cette vue contient toutes les contraintes appartenant aux tables dont dispose l'utilisateur actuel. accès (autre que SELECT).

Nom de la colonne Type Description
constraint_catalog character varying Nom de la base de données.
constraint_schema character varying Nom du schéma contenant la contrainte.
constraint_name character varying Nom de la contrainte.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table associée à la contrainte.
table_name character varying Nom de la table.
constraint_type character varying Type de la contrainte. Les valeurs possibles du champ sont les suivantes :
  • CHECK
  • FOREIGN KEY
  • PLACEMENT KEY
  • PRIMARY KEY
  • UNIQUE
is_deferrable character varying La valeur est toujours NO.
initially_deferred character varying La valeur est toujours NO.
enforced character varying Indique si la contrainte est appliquée. Si une contrainte est appliquée, atteint un certain état), elle est validée à la fois au moment de l'écriture de l'outil de vérification de l'intégrité en arrière-plan. Conformément à la norme SQL, le la chaîne est YES ou NO, et non une Valeur booléenne.

table_privileges

Cette vue filtrée par ligne liste tous les droits de contrôle des accès ultraprécis accordés sur toutes les tables et vues à n'importe quel rôle de base de données, y compris public. Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les lignes de cette vue. Tous les autres principaux ne peuvent voir que les droits accordés sur les tables et les vues 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 colonne Type Description
grantor character varying Non utilisé. Toujours NULL.
grantee character varying Nom du rôle de base de données auquel ce privilège est accordé.
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table ou la vue. La valeur par défaut est public pour les bases de données de dialecte PostgreSQL.
table_name character varying Nom de la table ou de la vue.
privilege_type character varying Type de privilège (SELECT, INSERT, UPDATE ou DELETE).
is_grantable character varying Non utilisé. Toujours NO.
that have_hierarchy character varying Non utilisé. Toujours NULL.

tables

Cette vue filtrée par ligne répertorie toutes les tables et la vue qui se trouvent dans la base de données actuelle. Comptes principaux disposant d'autorisations IAM au niveau de la base de données et de ceux qui L'accès au rôle système spanner_info_reader ou à des membres a été accordé à des membres peuvent voir toutes les tables et les vues. Tous les autres principaux ne peuvent voir que les tables qui répondent à l'une des exigences suivantes :

  • Les droits de contrôle des accès ultraprécis SELECT, INSERT, UPDATE ou DELETE sont accordés dans 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 autorisations SELECT, INSERT ou UPDATE sont accordées 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 character varying Nom de la base de données.
table_schema character varying Nom du schéma contenant la table ou la vue.
table_name character varying Nom de la table, de la vue ou du synonyme.
table_type character varying Type de table. Les valeurs possibles sont "BASE TABLE", "VIEW" ou "SYNONYM".
self_referencing_column_name character varying Non utilisé.
reference_generation character varying Non utilisé.
user_defined_type_catalog character varying Non utilisé.
user_defined_type_schema character varying Non utilisé.
user_defined_type_name character varying Non utilisé.
is_insertable_into character varying Non utilisé.
is_typed character varying Non utilisé.
commit_action character varying Non utilisé.
parent_table_name character varying Nom de la table parente si cette table est entrelacée ou NULL.
on_delete_action character varying Ce paramètre est défini sur CASCADE ou NO ACTION pour les tables entrelacées, et sur NULL dans les autres cas. Pour en savoir plus, consultez les instructions TABLE.
spanner_state character varying État actuel de la création de la table.
Une table peut passer par plusieurs états lors de la 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 un remplissage de son index référencé. Possible 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 de création de la table a été validée. Vous ne pouvez pas écrire dans la table tant que la modification n'est pas s'engagent.
  • NULL: tables ou vues qui ne sont pas des tables de base.
interleave_type character varying S'il existe une relation parent-enfant entre cette table et la table dans laquelle il est entrelacé. Les valeurs possibles du champ sont les suivantes :
  • IN: une table INTERLEAVE IN contenant pas de parent-enfant relation. Une ligne de ce tableau peut exister indépendamment de la ligne de sa table parente.
  • IN PARENT: table INTERLEAVE IN PARENT comportant un relation parent-enfant. Une ligne de cette table nécessite l'existence de la ligne de sa table parente.
row_deletion_policy_expression character varying Chaîne qui contient le texte de l'expression qui définit ROW DELETION POLICY.

table_synonyms

Ce tableau répertorie les informations relatives aux synonymes du tableau.

Nom de la colonne Type Description
CATALOG STRING Nom du catalogue contenant la table.
SCHEMA STRING Nom du schéma contenant la table.
TABLE_NAME STRING Nom de la table.
SYNONYM_CATALOG STRING Nom du catalogue pour le synonyme.
SYNONYM_SCHEMA STRING Nom du schéma pour le synonyme.
SYNONYM_TABLE_NAME STRING Nom de la table du synonyme.

views

Cette vue filtrée par ligne répertorie toutes les vues de la base de données actuelle. Les principaux disposant d'autorisations IAM au niveau de la base de données et ceux auxquels l'accès au rôle système spanner_info_reader ou aux membres de ce rôle a été accordé peuvent voir toutes les vues. Tous les autres comptes principaux ne peuvent voir que les vues associées au SELECT droit de contrôle des accès précis accordé au rôle de base de données actuel, aux rôles auxquels appartient le rôle de base de données actuel, ou à public.

Nom de la colonne Type Description
table_catalog character varying Nom de la base de données.
table_schema character varying Nom du schéma. La valeur par défaut est public.
table_name character varying Nom de la vue.
view_definition character varying Texte SQL de la requête qui définit la vue.
check_option character varying Non utilisé.
is_updatable character varying Non utilisé.
is_insertable_into character varying Non utilisé.
is_trigger_updatable character varying Non utilisé.
is_trigger_deletable character varying Non utilisé.
is_trigger_insertable_into character varying Non utilisé.
security_type character varying Type de sécurité de la vue. INVOKER ou DEFINER

Pour en savoir plus, consultez À propos des vues.

Examples

Renvoyez des informations sur chaque table dans le schéma par défaut:

SELECT
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name

Renvoyez le nom de toutes les tables et vues dans information_schema pour Bases de données de dialecte PostgreSQL:

SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"

Renvoie des informations sur les colonnes de la table utilisateur my_table :

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

Renvoyer des informations sur chaque index du schéma par défaut du schéma actuel base de données: ```sql SÉLECTIONNER t.table_name, t.index_name, t.parent_table_name DE information_schema.indexes AS t OÙ t.table_schema = 'public' ET t.index_type != 'PRIMARY_KEY' TRIER PAR 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_name,
  t.column_name,
  t.option_type,
  t.option_value,
  t.option_name
FROM
  information_schema.column_options AS t
WHERE
  t.table_schema = 'public'
ORDER BY
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_name

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='public'
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')

Renvoie tous les packages de statistiques disponibles :

SELECT *
FROM information_schema.spanner_statistics;

Étape suivante

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