From b920e39eef88ba5c12db18f1a91710f2d62ef37d Mon Sep 17 00:00:00 2001 From: Kat Batuigas Date: Mon, 18 May 2026 20:18:56 -0700 Subject: [PATCH 1/3] Expand virtual tables reference, add SHOW/DESCRIBE for new objects --- modules/ROOT/nav.adoc | 2 + .../pages/sql/information-schema.adoc | 42 +++++ .../alter-redpanda-catalog.adoc | 48 +++++- .../pages/sql/sql-statements/describe.adoc | 15 +- .../sql/sql-statements/show-catalogs.adoc | 51 +++++++ .../pages/sql/sql-statements/show-tables.adoc | 57 ++++++- .../pages/sql/system-virtual-tables.adoc | 144 +++++++++++++++++- 7 files changed, 342 insertions(+), 17 deletions(-) create mode 100644 modules/reference/pages/sql/information-schema.adoc create mode 100644 modules/reference/pages/sql/sql-statements/show-catalogs.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 142049a66..803c35a44 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -551,6 +551,7 @@ **** xref:reference:sql/sql-statements/copy-to.adoc[] **** xref:reference:sql/sql-statements/describe.adoc[] **** xref:reference:sql/sql-statements/set-show.adoc[] +**** xref:reference:sql/sql-statements/show-catalogs.adoc[] **** xref:reference:sql/sql-statements/show-tables.adoc[] **** xref:reference:sql/sql-statements/show-execs.adoc[] **** xref:reference:sql/sql-statements/show-nodes.adoc[] @@ -733,6 +734,7 @@ *** xref:reference:sql/comment-support.adoc[] *** xref:reference:sql/transactions.adoc[] *** xref:reference:sql/system-virtual-tables.adoc[] +*** xref:reference:sql/information-schema.adoc[Information Schema] *** xref:reference:sql/system-catalogs/index.adoc[System Catalogs] **** xref:reference:sql/system-catalogs/catalogs/pg_attrdef.adoc[] **** xref:reference:sql/system-catalogs/catalogs/pg_attribute.adoc[] diff --git a/modules/reference/pages/sql/information-schema.adoc b/modules/reference/pages/sql/information-schema.adoc new file mode 100644 index 000000000..b83cbec36 --- /dev/null +++ b/modules/reference/pages/sql/information-schema.adoc @@ -0,0 +1,42 @@ += Information schema +:description: Information schema views in Redpanda SQL expose database object metadata and grants through SQL-standard views. +:page-topic-type: reference + +The `information_schema` namespace provides SQL-standard views over database object metadata. Redpanda SQL implements the standard views needed for tool compatibility, plus extension views for Redpanda-specific concepts that don't fit the standard shape. + +== Available views + +[cols="<40%,<60%",options="header"] +|=== +|View |Description + +|`information_schema.role_external_relation_grants` +|Per-relation EXTERNAL SOURCE grants. Redpanda SQL extension that captures grants whose stored relation pattern is anything other than `*` (catalog-level grants surface in `information_schema.role_table_grants` instead). +|=== + +== information_schema.role_external_relation_grants + +Per-relation EXTERNAL SOURCE grants. Rows whose stored relation pattern is anything other than `*`. Catalog-level EXTERNAL SOURCE grants (stored pattern `*`) surface in `information_schema.role_table_grants`, like foreign-table grants in PostgreSQL. + +Visibility mirrors `information_schema.role_table_grants`: a regular role sees rows where it is the grantee; a superuser sees grants for every non-superuser. + +[cols="<30%,<15%,<10%,<45%",options="header"] +|=== +|Column |Type |Nullable |Description + +|`grantor` |`text` |No |Role that granted the privilege. +|`grantee` |`text` |No |Role that holds the privilege. +|`database_name` |`text` |No |Database the grant applies to. +|`schema_name` |`text` |No |Schema (namespace) the grant applies to. +|`source_name` |`text` |No |External source (catalog or storage) the grant applies to. +|`relation_pattern` |`text` |No |Relation-name pattern the grant matches. Wildcards (`*`) are allowed in the pattern. +|`privilege_type` |`text` |No |Privilege granted, such as `SELECT`. +|`is_grantable` |`text` |No |`YES` if the grantee can grant this privilege to other roles; `NO` otherwise. +|=== + +[source,sql] +---- +SELECT grantee, source_name, relation_pattern, privilege_type +FROM information_schema.role_external_relation_grants +WHERE grantee = 'analyst'; +---- diff --git a/modules/reference/pages/sql/sql-statements/alter-redpanda-catalog.adoc b/modules/reference/pages/sql/sql-statements/alter-redpanda-catalog.adoc index b69e6674d..309691c17 100644 --- a/modules/reference/pages/sql/sql-statements/alter-redpanda-catalog.adoc +++ b/modules/reference/pages/sql/sql-statements/alter-redpanda-catalog.adoc @@ -1,8 +1,8 @@ = ALTER REDPANDA CATALOG -:description: The ALTER REDPANDA CATALOG statement modifies connection properties of an existing Redpanda catalog. +:description: The ALTER REDPANDA CATALOG statement modifies connection properties of an existing Redpanda catalog, including the link to an Iceberg catalog. :page-topic-type: reference -The `ALTER REDPANDA CATALOG` statement modifies connection properties of an existing Redpanda catalog. +The `ALTER REDPANDA CATALOG` statement modifies connection properties of an existing Redpanda catalog. You can also use it to link the Redpanda catalog to an Iceberg catalog (or detach an existing link) so that queries against the Redpanda catalog return both live records and Iceberg-translated history. == Syntax @@ -10,18 +10,58 @@ The `ALTER REDPANDA CATALOG` statement modifies connection properties of an exis ---- ALTER REDPANDA CATALOG [IF EXISTS] catalog_name WITH (option = 'value' [, ...]); + +ALTER REDPANDA CATALOG [IF EXISTS] catalog_name +USING CATALOG [schema.]iceberg_catalog_name +[WITH (option = 'value' [, ...])]; + +ALTER REDPANDA CATALOG [IF EXISTS] catalog_name +USING CATALOG NULL +[WITH (option = 'value' [, ...])]; ---- -* `catalog_name`: Name of the catalog to modify. +* `catalog_name`: Name of the Redpanda catalog to modify. * `IF EXISTS`: Optional. Prevents an error if the catalog does not exist. * `option = 'value'`: One or more connection options to update. See xref:reference:sql/sql-statements/create-redpanda-catalog.adoc[CREATE REDPANDA CATALOG] for the full list of options. +* `USING CATALOG iceberg_catalog_name`: Links the Redpanda catalog to an existing Iceberg catalog. The Iceberg catalog must already exist. You can qualify the Iceberg catalog name with a schema prefix. +* `USING CATALOG NULL`: Detaches the Redpanda catalog from any linked Iceberg catalog. == Examples -Update the broker address for an existing catalog: +=== Update broker address [source,sql] ---- ALTER REDPANDA CATALOG production_redpanda WITH (initial_brokers = 'new-broker:9092'); ---- + +=== Link to an Iceberg catalog + +To link a Redpanda catalog to an existing Iceberg catalog so that queries against the Redpanda catalog return both live records and Iceberg-translated history: + +[source,sql] +---- +ALTER REDPANDA CATALOG production_redpanda +USING CATALOG lakehouse_catalog; +---- + +=== Retarget the linked Iceberg catalog + +To change which Iceberg catalog a Redpanda catalog is linked to, run `ALTER REDPANDA CATALOG ... USING CATALOG `: + +[source,sql] +---- +ALTER REDPANDA CATALOG production_redpanda +USING CATALOG new_lakehouse_catalog; +---- + +=== Detach from an Iceberg catalog + +To remove an existing link to an Iceberg catalog so that queries against the Redpanda catalog return only live records: + +[source,sql] +---- +ALTER REDPANDA CATALOG production_redpanda +USING CATALOG NULL; +---- diff --git a/modules/reference/pages/sql/sql-statements/describe.adoc b/modules/reference/pages/sql/sql-statements/describe.adoc index 99dd23df0..247359f34 100644 --- a/modules/reference/pages/sql/sql-statements/describe.adoc +++ b/modules/reference/pages/sql/sql-statements/describe.adoc @@ -12,11 +12,13 @@ DESCRIBE DATABASE; DESCRIBE TABLE table_name; DESCRIBE TABLE catalog_name=>table_name; DESCRIBE REDPANDA CATALOG catalog_name; +DESCRIBE ICEBERG CATALOG catalog_name; ---- * `table_name`: Name of the table to describe. * `catalog_name=>table_name`: Describes a table that is mapped to a Redpanda topic through a catalog. -* `catalog_name`: Name of a Redpanda catalog. Lists the tables and topic mappings in that catalog. +* `catalog_name` (after `REDPANDA CATALOG`): Name of a Redpanda catalog. Lists the tables and topic mappings in that catalog. +* `catalog_name` (after `ICEBERG CATALOG`): Name of an Iceberg catalog. Lists the catalog's connection details, including its REST endpoint and warehouse. [NOTE] ==== @@ -126,3 +128,14 @@ The query returns: | user_events | user-events | +----------------+--------------+ ---- + +=== Describe an Iceberg catalog + +To list connection details for an Iceberg catalog, run: + +[source,sql] +---- +DESCRIBE ICEBERG CATALOG lakehouse_catalog; +---- + +The query returns the catalog's REST endpoint, warehouse, and authentication type. diff --git a/modules/reference/pages/sql/sql-statements/show-catalogs.adoc b/modules/reference/pages/sql/sql-statements/show-catalogs.adoc new file mode 100644 index 000000000..09eb2852f --- /dev/null +++ b/modules/reference/pages/sql/sql-statements/show-catalogs.adoc @@ -0,0 +1,51 @@ += SHOW CATALOGS +:description: The SHOW CATALOGS statement lists catalogs in the cluster. Variants list only Redpanda catalogs or only Iceberg catalogs. +:page-topic-type: reference + +The `SHOW CATALOGS` statement lists catalogs in the cluster. Variants filter by catalog type: Redpanda catalogs or Iceberg catalogs. + +[NOTE] +==== +`SHOW CATALOGS` and its variants only display catalogs in schemas where the user has the `USAGE` grant. Catalogs created in schemas where the caller lacks `USAGE` are not returned. +==== + +== Syntax + +[source,sql] +---- +SHOW CATALOGS; +SHOW REDPANDA CATALOGS; +SHOW KAFKA CATALOGS; +SHOW ICEBERG CATALOGS; +---- + +`SHOW KAFKA CATALOGS` is a synonym for `SHOW REDPANDA CATALOGS`. + +== Examples + +=== List all catalogs + +To list all catalogs (both Redpanda and Iceberg) visible to the caller: + +[source,sql] +---- +SHOW CATALOGS; +---- + +For SQL-queryable access to the same information (with `WHERE`, `ORDER BY`, and `LIMIT` support), see xref:reference:sql/system-virtual-tables.adoc#_system_catalogs[`system.catalogs`]. + +=== List only Redpanda catalogs + +[source,sql] +---- +SHOW REDPANDA CATALOGS; +---- + +=== List only Iceberg catalogs + +[source,sql] +---- +SHOW ICEBERG CATALOGS; +---- + +For each Iceberg catalog's REST endpoint, warehouse, and authentication type, see xref:reference:sql/system-virtual-tables.adoc#_system_iceberg_catalogs[`system.iceberg_catalogs`] or xref:reference:sql/sql-statements/describe.adoc[`DESCRIBE ICEBERG CATALOG`]. diff --git a/modules/reference/pages/sql/sql-statements/show-tables.adoc b/modules/reference/pages/sql/sql-statements/show-tables.adoc index fc8b2f598..9d11ecf91 100644 --- a/modules/reference/pages/sql/sql-statements/show-tables.adoc +++ b/modules/reference/pages/sql/sql-statements/show-tables.adoc @@ -1,12 +1,12 @@ = SHOW TABLES -:description: The SHOW TABLES statement retrieves information about existing tables. +:description: The SHOW TABLES statement retrieves information about existing tables, including tables mapped from Redpanda topics and Iceberg tables registered in the local catalog. :page-topic-type: reference -The `SHOW TABLES` statement retrieves information about existing tables. +The `SHOW TABLES` statement retrieves information about existing tables in the current schema. Variants filter by the table's source: Redpanda topics or Iceberg. [NOTE] ==== -`SHOW TABLES` only displays tables in schemas where the user has the `USAGE` grant. +`SHOW TABLES` and its variants only display tables in schemas where the user has the `USAGE` grant. ==== == Syntax @@ -15,9 +15,24 @@ The `SHOW TABLES` statement retrieves information about existing tables. ---- SHOW TABLES; SHOW TABLES FROM catalog_name; + +SHOW REDPANDA TABLES; +SHOW REDPANDA TABLES catalog_name; +SHOW REDPANDA TABLES schema.catalog_name; + +SHOW KAFKA TABLES; +SHOW KAFKA TABLES catalog_name; +SHOW KAFKA TABLES schema.catalog_name; + +SHOW ICEBERG TABLES; +SHOW ICEBERG TABLES catalog_name; +SHOW ICEBERG TABLES schema.catalog_name; ---- -* `catalog_name`: Optional. The name of a Redpanda catalog. When specified, lists tables mapped to Redpanda topics through that catalog. +* `catalog_name`: Optional. Filter by a specific Redpanda or Iceberg catalog. +* `schema.catalog_name`: Optional. Filter by both schema and catalog. Useful when catalogs in different schemas share a name. + +`SHOW KAFKA TABLES` is a synonym for `SHOW REDPANDA TABLES`. == Examples @@ -42,11 +57,41 @@ SHOW TABLES; +------------+ ---- -=== List tables from a catalog +=== List tables from a Redpanda catalog To list tables mapped through a specific Redpanda catalog: [source,sql] ---- -SHOW TABLES FROM default_redpanda_catalog; +SHOW REDPANDA TABLES default_redpanda_catalog; +---- + +To list all Redpanda-catalog tables across all connections: + +[source,sql] +---- +SHOW REDPANDA TABLES; +---- + +=== List Iceberg tables + +To list all Iceberg tables registered in the local catalog: + +[source,sql] +---- +SHOW ICEBERG TABLES; +---- + +To list Iceberg tables in a specific catalog: + +[source,sql] +---- +SHOW ICEBERG TABLES lakehouse_catalog; +---- + +To list Iceberg tables in a specific schema and catalog (here, schema `analytics`, catalog `lakehouse_catalog`): + +[source,sql] +---- +SHOW ICEBERG TABLES analytics.lakehouse_catalog; ---- diff --git a/modules/reference/pages/sql/system-virtual-tables.adoc b/modules/reference/pages/sql/system-virtual-tables.adoc index 9ee5dee71..f823191d4 100644 --- a/modules/reference/pages/sql/system-virtual-tables.adoc +++ b/modules/reference/pages/sql/system-virtual-tables.adoc @@ -1,23 +1,43 @@ -= System Virtual Tables -:description: System virtual tables in Redpanda SQL expose cluster runtime information and provide SQL-queryable alternatives to SHOW statements. += System virtual tables +:description: System virtual tables in Redpanda SQL expose cluster runtime information and external-source metadata, providing SQL-queryable alternatives to SHOW statements. :page-topic-type: reference -System virtual tables in the `system` schema expose cluster runtime information. They provide SQL-queryable alternatives to `SHOW` statements, with support for `WHERE`, `ORDER BY`, and `LIMIT` clauses. +System virtual tables in the `system` schema expose cluster runtime information and external-source metadata. They provide SQL-queryable alternatives to `SHOW` statements, with support for `WHERE`, `ORDER BY`, and `LIMIT` clauses. -NOTE: System virtual tables are only available to the superuser. +NOTE: System virtual tables filter rows by the caller's privileges. Cluster runtime tables (`system.nodes`, `system.queries`, `system.execs`) are visible only to a superuser. Tables that expose catalog and connection metadata filter rows by the caller's grants on the database, namespace, and metadata. == Available tables -[cols="<30%,<30%,<40%",options="header"] +[cols="<35%,<30%,<35%",options="header"] |=== |Table |Equivalent statement |Description +|`system.catalogs` +|xref:reference:sql/sql-statements/show-catalogs.adoc[SHOW CATALOGS] +|All catalogs (both Redpanda and Iceberg) visible to the caller. + +|`system.iceberg_catalogs` +|xref:reference:sql/sql-statements/show-catalogs.adoc[SHOW ICEBERG CATALOGS] +|Iceberg catalogs with their REST endpoint, warehouse, and authentication type. + +|`system.iceberg_tables` +|xref:reference:sql/sql-statements/show-tables.adoc[SHOW ICEBERG TABLES] +|Iceberg tables registered in the local catalog. + +|`system.kafka_connections` +|None +|Redpanda catalog connections, including any linked Iceberg catalog. + +|`system.kafka_sources` +|None +|Tables mapped to Redpanda topics through a Redpanda catalog. + |`system.nodes` |xref:reference:sql/sql-statements/show-nodes.adoc[SHOW NODES] |Current state of all nodes in the cluster. |`system.queries` -|SHOW QUERIES +|`SHOW QUERIES` |Currently running queries. |`system.execs` @@ -25,6 +45,118 @@ NOTE: System virtual tables are only available to the superuser. |Currently running execution tasks. |=== +== system.catalogs + +All catalogs in the cluster (both Redpanda and Iceberg), across databases and namespaces visible to the caller. + +[cols="<30%,<15%,<10%,<45%",options="header"] +|=== +|Column |Type |Nullable |Description + +|`name` |`text` |No |Catalog name. +|`namespace_name` |`text` |No |Schema containing the catalog. +|`type` |`text` |No |Catalog type: `REDPANDA` or `ICEBERG`. +|=== + +[source,sql] +---- +SELECT * FROM system.catalogs; +---- + +For per-catalog detail, query `system.iceberg_catalogs` or `system.kafka_connections`. + +== system.iceberg_catalogs + +Iceberg catalog connections, with their REST endpoint and authentication details. + +[cols="<30%,<15%,<10%,<45%",options="header"] +|=== +|Column |Type |Nullable |Description + +|`name` |`text` |No |Iceberg catalog name. +|`uri` |`text` |No |REST catalog endpoint URI. +|`warehouse` |`text` |No |Iceberg warehouse identifier or location. +|`auth_type` |`text` |No |Authentication type for the REST catalog. One of `oauth2`, `basic`, `aws_sigv4`, or empty if the catalog connects without authentication. +|`namespace_name` |`text` |No |Schema containing the catalog. +|`database_name` |`text` |No |Database containing the catalog. +|=== + +[source,sql] +---- +SELECT name, uri, auth_type FROM system.iceberg_catalogs; +---- + +== system.iceberg_tables + +Iceberg tables whose schema has been refreshed into the local catalog. Each row represents one root Iceberg table. + +[cols="<30%,<15%,<10%,<45%",options="header"] +|=== +|Column |Type |Nullable |Description + +|`database_name` |`text` |No |Database containing the registered table. +|`namespace_name` |`text` |No |Schema containing the registered table. +|`catalog_name` |`text` |No |Iceberg catalog the table belongs to. +|`name` |`text` |No |Qualified Iceberg table path (for example, `ns1.ns2.tbl`). +|`oid` |`int` |No |Object identifier of the table type. Joinable with `pg_type.oid`. +|=== + +[NOTE] +==== +Stale entries: dropping an Iceberg table from the REST catalog leaves its registration in Oxla's catalog until you drop it explicitly. The view continues to list it. This mirrors `system.kafka_sources` behavior. +==== + +[source,sql] +---- +SELECT * FROM system.iceberg_tables WHERE catalog_name = 'lakehouse_catalog'; +---- + +== system.kafka_connections + +Redpanda catalog connections, including any linked Iceberg catalog for queries that span live records and Iceberg-translated history. + +[cols="<30%,<15%,<10%,<45%",options="header"] +|=== +|Column |Type |Nullable |Description + +|`database_name` |`text` |No |Database containing the connection. +|`namespace_name` |`text` |No |Schema containing the connection. +|`name` |`text` |No |Catalog (connection) name. +|`options` |`text` |No |Connection options, including broker addresses, Schema Registry endpoint, and librdkafka configuration. +|`iceberg_catalog` |`text` |Yes |Linked Iceberg catalog as `schema.name`, or NULL if no link is configured. Returns NULL when the caller doesn't have `CONNECT` on the linked catalog's database and `USAGE` on its schema (or an `ANY` grant on the metadata). +|=== + +[source,sql] +---- +SELECT name, iceberg_catalog FROM system.kafka_connections; +---- + +== system.kafka_sources + +Tables mapped to Redpanda topics through a Redpanda catalog. One row per `CREATE TABLE catalog=>name WITH (...)` mapping. + +[cols="<30%,<15%,<10%,<45%",options="header"] +|=== +|Column |Type |Nullable |Description + +|`database_name` |`text` |No |Database containing the source table. +|`namespace_name` |`text` |No |Schema containing the source table. +|`name` |`text` |No |Table name. +|`connection_name` |`text` |No |Redpanda catalog (connection) the table belongs to. +|`topic_name` |`text` |No |Source topic name. +|`subject_name` |`text` |No |Schema Registry subject name. Empty if not configured. +|`lookup_policy` |`text` |No |Schema lookup policy. See xref:reference:sql/sql-statements/create-table.adoc[CREATE TABLE]. +|`error_handling_policy` |`text` |No |Deserialization error-handling policy. See xref:reference:sql/sql-statements/create-table.adoc[CREATE TABLE]. +|`struct_mapping_policy` |`text` |No |Nested-struct mapping policy. See xref:reference:sql/sql-statements/create-table.adoc[CREATE TABLE]. +|`output_schema_full_message_name` |`text` |No |Full Protobuf message name. Empty if not configured. +|=== + +[source,sql] +---- +SELECT name, topic_name, subject_name FROM system.kafka_sources +WHERE connection_name = 'production_redpanda'; +---- + == Examples === Query all nodes From ef2dc277039143a991290aa8a09e25fecddd9a00 Mon Sep 17 00:00:00 2001 From: Kat Batuigas Date: Mon, 18 May 2026 21:21:29 -0700 Subject: [PATCH 2/3] Title case --- modules/reference/pages/sql/system-virtual-tables.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/reference/pages/sql/system-virtual-tables.adoc b/modules/reference/pages/sql/system-virtual-tables.adoc index f823191d4..b8e74fc71 100644 --- a/modules/reference/pages/sql/system-virtual-tables.adoc +++ b/modules/reference/pages/sql/system-virtual-tables.adoc @@ -1,4 +1,4 @@ -= System virtual tables += System Virtual Tables :description: System virtual tables in Redpanda SQL expose cluster runtime information and external-source metadata, providing SQL-queryable alternatives to SHOW statements. :page-topic-type: reference From 32b19b40f9715389202c6a4867cec4cb2dfbb8de Mon Sep 17 00:00:00 2001 From: Kat Batuigas Date: Mon, 18 May 2026 22:05:43 -0700 Subject: [PATCH 3/3] Review pass --- modules/reference/pages/sql/information-schema.adoc | 12 ++++++------ .../pages/sql/sql-statements/show-catalogs.adoc | 4 ++-- .../reference/pages/sql/system-virtual-tables.adoc | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/reference/pages/sql/information-schema.adoc b/modules/reference/pages/sql/information-schema.adoc index b83cbec36..a6d4acc0e 100644 --- a/modules/reference/pages/sql/information-schema.adoc +++ b/modules/reference/pages/sql/information-schema.adoc @@ -1,4 +1,4 @@ -= Information schema += Information Schema :description: Information schema views in Redpanda SQL expose database object metadata and grants through SQL-standard views. :page-topic-type: reference @@ -11,14 +11,14 @@ The `information_schema` namespace provides SQL-standard views over database obj |View |Description |`information_schema.role_external_relation_grants` -|Per-relation EXTERNAL SOURCE grants. Redpanda SQL extension that captures grants whose stored relation pattern is anything other than `*` (catalog-level grants surface in `information_schema.role_table_grants` instead). +|Per-relation EXTERNAL SOURCE grants. Redpanda SQL extension that captures grants whose stored relation pattern is anything other than `\*` (catalog-level grants surface in `information_schema.role_table_grants` instead). |=== == information_schema.role_external_relation_grants -Per-relation EXTERNAL SOURCE grants. Rows whose stored relation pattern is anything other than `*`. Catalog-level EXTERNAL SOURCE grants (stored pattern `*`) surface in `information_schema.role_table_grants`, like foreign-table grants in PostgreSQL. +Per-relation EXTERNAL SOURCE grants. Rows whose stored relation pattern is anything other than `\*`. Catalog-level EXTERNAL SOURCE grants (stored pattern `\*`) surface in `information_schema.role_table_grants`, like foreign-table grants in PostgreSQL. -Visibility mirrors `information_schema.role_table_grants`: a regular role sees rows where it is the grantee; a superuser sees grants for every non-superuser. +Visibility mirrors `information_schema.role_table_grants`. A regular role sees rows where it is the grantee. A superuser sees grants for every non-superuser. [cols="<30%,<15%,<10%,<45%",options="header"] |=== @@ -27,9 +27,9 @@ Visibility mirrors `information_schema.role_table_grants`: a regular role sees r |`grantor` |`text` |No |Role that granted the privilege. |`grantee` |`text` |No |Role that holds the privilege. |`database_name` |`text` |No |Database the grant applies to. -|`schema_name` |`text` |No |Schema (namespace) the grant applies to. +|`schema_name` |`text` |No |Schema the grant applies to. |`source_name` |`text` |No |External source (catalog or storage) the grant applies to. -|`relation_pattern` |`text` |No |Relation-name pattern the grant matches. Wildcards (`*`) are allowed in the pattern. +|`relation_pattern` |`text` |No |Relation-name pattern the grant matches. Wildcards (`\*`) are allowed in the pattern. |`privilege_type` |`text` |No |Privilege granted, such as `SELECT`. |`is_grantable` |`text` |No |`YES` if the grantee can grant this privilege to other roles; `NO` otherwise. |=== diff --git a/modules/reference/pages/sql/sql-statements/show-catalogs.adoc b/modules/reference/pages/sql/sql-statements/show-catalogs.adoc index 09eb2852f..223f0a63f 100644 --- a/modules/reference/pages/sql/sql-statements/show-catalogs.adoc +++ b/modules/reference/pages/sql/sql-statements/show-catalogs.adoc @@ -32,7 +32,7 @@ To list all catalogs (both Redpanda and Iceberg) visible to the caller: SHOW CATALOGS; ---- -For SQL-queryable access to the same information (with `WHERE`, `ORDER BY`, and `LIMIT` support), see xref:reference:sql/system-virtual-tables.adoc#_system_catalogs[`system.catalogs`]. +For SQL-queryable access to the same information (with `WHERE`, `ORDER BY`, and `LIMIT` support), see xref:reference:sql/system-virtual-tables.adoc#system-catalogs[`system.catalogs`]. === List only Redpanda catalogs @@ -48,4 +48,4 @@ SHOW REDPANDA CATALOGS; SHOW ICEBERG CATALOGS; ---- -For each Iceberg catalog's REST endpoint, warehouse, and authentication type, see xref:reference:sql/system-virtual-tables.adoc#_system_iceberg_catalogs[`system.iceberg_catalogs`] or xref:reference:sql/sql-statements/describe.adoc[`DESCRIBE ICEBERG CATALOG`]. +For each Iceberg catalog's REST endpoint, warehouse, and authentication type, see xref:reference:sql/system-virtual-tables.adoc#system-iceberg-catalogs[`system.iceberg_catalogs`] or xref:reference:sql/sql-statements/describe.adoc[`DESCRIBE ICEBERG CATALOG`]. diff --git a/modules/reference/pages/sql/system-virtual-tables.adoc b/modules/reference/pages/sql/system-virtual-tables.adoc index b8e74fc71..c219a5361 100644 --- a/modules/reference/pages/sql/system-virtual-tables.adoc +++ b/modules/reference/pages/sql/system-virtual-tables.adoc @@ -47,7 +47,7 @@ NOTE: System virtual tables filter rows by the caller's privileges. Cluster runt == system.catalogs -All catalogs in the cluster (both Redpanda and Iceberg), across databases and namespaces visible to the caller. +All catalogs in the cluster (both Redpanda and Iceberg), across databases and schemas visible to the caller. [cols="<30%,<15%,<10%,<45%",options="header"] |===