VECTOR_INDEX_OPTIONS view

The INFORMATION_SCHEMA.VECTOR_INDEX_OPTIONS view contains one row for each vector-indexed column on each table in a dataset.

Required permissions

To see vector index metadata, you need the bigquery.tables.get or bigquery.tables.list Identity and Access Management (IAM) permission on the table with the index. Each of the following predefined IAM roles includes at least one of these permissions:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer
  • roles/bigquery.metadataViewer
  • roles/bigquery.user

For more information about BigQuery permissions, see Access control with IAM.

Schema

When you query the INFORMATION_SCHEMA.VECTOR_INDEX_OPTIONS view, the query results contain one row for each index on each table in a dataset.

The INFORMATION_SCHEMA.VECTOR_INDEX_OPTIONS view has the following schema:

Column name Data type Value
index_catalog STRING The name of the project that contains the dataset.
index_schema STRING The name of the dataset that contains the vector index.
table_name STRING The name of the table that the vector index is created on.
index_name STRING The name of the vector index.
option_name STRING The name of the option used in the data definition language statement (DDL) to create the vector index.
option_type STRING The option data type.
option_value STRING The option value.

Scope and syntax

Queries against this view must have a dataset qualifier. The following table explains the region scope for this view:

View Name Resource scope Region scope
[PROJECT_ID.]DATASET_ID.INFORMATION_SCHEMA.VECTOR_INDEX_OPTIONS Dataset level Dataset location

Replace the following:

  • Optional: PROJECT_ID: the ID of your Google Cloud project. If not specified, the default project is used.

    Example

    -- Returns metadata for vector indexes in a single dataset.
    SELECT * FROM myDataset.INFORMATION_SCHEMA.VECTOR_INDEX_OPTIONS;
    

    Examples

    The following query extracts information on vector index options:

    SELECT table_name, index_name, option_name, option_type, option_value
    FROM my_project.dataset.INFORMATION_SCHEMA.VECTOR_INDEX_OPTIONS;

    The result is similar to the following:

    +------------+------------+------------------+------------------+-------------------------------------------------------------------+
    | table_name | index_name | option_name      | option_type      | option_value                                                      |
    +------------+------------+------------------+------------------+-------------------------------------------------------------------+
    | table1     | indexa     | index_type       | STRING           | IVF                                                               |
    | table1     | indexa     | distance_type    | STRING           | EUCLIDEAN                                                         |
    | table1     | indexa     | ivf_options      | STRING           | {"num_lists": 100}                                                |
    | table2     | indexb     | index_type       | STRING           | IVF                                                               |
    | table2     | indexb     | distance_type    | STRING           | COSINE                                                            |
    | table2     | indexb     | ivf_options      | STRING           | {"num_lists": 500}                                                |
    | table3     | indexc     | index_type       | STRING           | TREE_AH                                                           |
    | table3     | indexc     | distance_type    | STRING           | DOT_PRODUCT                                                       |
    | table3     | indexc     | tree_ah_options  | STRING           | {"leaf_node_embedding_count": 1000, "normalization_type": "NONE"} |
    +------------+------------+------------------+------------------+-------------------------------------------------------------------+