diff --git a/_includes/sidebar-data-v20.1.json b/_includes/sidebar-data-v20.1.json index 48337d2870e..378ff123fab 100644 --- a/_includes/sidebar-data-v20.1.json +++ b/_includes/sidebar-data-v20.1.json @@ -1867,6 +1867,12 @@ "urls": [ "/${VERSION}/information-schema.html" ] + }, + { + "title": "pg_catalog", + "urls": [ + "/${VERSION}/pg-catalog.html" + ] } ] }, diff --git a/_includes/sidebar-data-v20.2.json b/_includes/sidebar-data-v20.2.json index 3ce4828eee8..dc336ab99c9 100644 --- a/_includes/sidebar-data-v20.2.json +++ b/_includes/sidebar-data-v20.2.json @@ -2230,9 +2230,32 @@ ] }, { - "title": "Information Schema", - "urls": [ - "/${VERSION}/information-schema.html" + "title": "Virtual Schemas", + "items": [ + { + "title": "Overview", + "urls": [ + "/${VERSION}/virtual-schemas.html" + ] + }, + { + "title": "crdb_internal", + "urls": [ + "/${VERSION}/crdb-internal.html" + ] + }, + { + "title": "information_schema", + "urls": [ + "/${VERSION}/information-schema.html" + ] + }, + { + "title": "pg_catalog", + "urls": [ + "/${VERSION}/pg-catalog.html" + ] + } ] }, { diff --git a/v20.1/crdb-internal.md b/v20.1/crdb-internal.md index 4fab970c0ed..e42f2e06db4 100644 --- a/v20.1/crdb-internal.md +++ b/v20.1/crdb-internal.md @@ -7,7 +7,13 @@ toc: true CockroachDB provides a [virtual schema](virtual-schemas.html) called `crdb_internal` that contains information about CockroachDB internals related to a specific cluster. `crdb_internal` tables are read-only. {{site.data.alerts.callout_info}} -The `crdb_internal` views typically represent objects that the current user has privilege to access. To ensure you can view all the objects in a database, access it as the `root` user. +The `crdb_internal` views typically represent objects that the current user has privilege to access. To ensure you can view all the objects in a database, access it as a user with [`admin` privileges](authorization.html#admin-role). +{{site.data.alerts.end}} + +{{site.data.alerts.callout_danger}} +We do not recommend using `crdb_internal` tables in production environments for the following reasons: +- The contents of `crdb_internal` schema are unstable, and subject to change in new releases of CockroachDB. +- There are memory and latency costs associated with each table in `crdb_internal`. Accessing the tables in the schema can impact cluster stability and performance. {{site.data.alerts.end}} ## Data exposed by `crdb_internal` @@ -31,61 +37,6 @@ Unless specified otherwise, queries to `crdb_internal` assume the [current datab (62 rows) ~~~ -## Tables in `crdb_internal` - -`crdb_internal` tables reflect the internals of CockroachDB. As such, the number of tables, and the contents of the tables, in `crdb_internal` can change across CockroachDB versions. - -For stability guidance, we have assigned each table one of following levels of stability: - -- **Public and programmable** tables are suitable for scripting, testing, and other programmatic purposes - -- **Public and non-programmable** tables are suitable for end-user consumption, but are subject to change across major versions and should not be used for programmatic purposes. - -- **Reserved** tables are intended for use by CockroachDB developers and are subject to change across minor versions. We do not recommend using reserved tables. - -In CockroachDB {{ page.release_info.version }}, `crdb_internal` includes the following tables: - -Table | Description | Stability --------|-------|----- -`backward_dependencies` | Contains information about backward dependencies. | Reserved -`builtin_functions` | Contains information about supported [functions](functions-and-operators.html). | Reserved (use `pg_catalog.pg_proc`) -`cluster_queries` | Contains information about queries running on your cluster. | Public and programmable -`cluster_sessions` | Contains information about cluster sessions, including current and past queries. | See `node_sessions` -`cluster_settings` | Contains information about [cluster settings](cluster-settings.html). | Public and programmable -`cluster_transactions` | Contains information about the transactions running on your cluster. | Public and programmable -`create_statements` | Contains information about tables and indexes in your database. | The following columns of this table are public and programmable:
`database_name`, `schema_name`, `descriptor_id`, `descriptor_type`, `descriptor_name`, `create_statement`, `alter_statements`, `validate_statements`
All other columns are reserved. -`feature_usage` | Contains information about feature usage on your cluster. | Public and non-programmable -`forward_dependencies` | Contains information about forward dependencies. | Reserved -`gossip_alerts` | Contains information about gossip alerts. | Reserved -`gossip_liveness` | Contains information about your cluster's gossip liveness. | The following columns of this table are public and programmable:
`node_id`, `draining`, `decommissioning`, `updated_at`
All other columns are reserved. -`feature_usage` | Contains information about feature usage on your cluster. -`gossip_network` | Contains information about your cluster's gossip network. | Reserved -`gossip_nodes` | Contains information about nodes in your cluster's gossip network. | The following columns of this table are public and programmable:
`node_id`, `is_live`, `ranges`, `leases`
All other columns are reserved. -`index_columns` | Contains information about indexed columns in your cluster. | Public and programmable -`jobs` | Contains information about [jobs](show-jobs.html) running on your cluster. | The following columns of this table are public and programmable:
`job_id`, `job_type`, `description`, `statement`, `user_name`, `status`, `created`, `started`, `finished`, `fraction_completed`, `error`
All other columns are reserved. -`kv_node_status` | Contains information about node status at the [key-value layer](architecture/storage-layer.html). | The following columns of this table are public and programmable:
`node_id`, `network`, `address`, `attrs`, `locality`, `server_version`, `tag`, `platform`, `distribution`, `type`, `started_at`
All other columns are reserved. -`kv_store_status` | Contains information about the key-value store for your cluster. | The following columns of this table are public and programmable:
`node_id`, `store_id`, `attrs`, `capacity`, `available`, `used`, `logical_bytes`, `range_count`, `lease_count`
All other columns are reserved. -`leases` | Contains information about [leases](architecture/replication-layer.html#leases) in your cluster. | Reserved -`node_build_info` | Contains information about nodes in your cluster. | Public and programmable -`node_metrics` | Contains metrics for nodes in your cluster. | Reserved -`node_queries` | Contains information about queries running on nodes in your cluster. | Public and programmable -`node_runtime_info` | Contains runtime information about nodes in your cluster. | Public and programmable -`node_sessions` | Contains information about sessions to nodes in your cluster. | The following columns of this table are public and programmable:
`node_id`, `session_id`, `user_name`, `client_address`, `application_name`, `active_queries`,`last_active_query`, `session_start`
All other columns are reserved. -`node_statement_statistics` | Contains statement statistics for nodes in your cluster. | Public and programmable -`node_transactions` | Contains information about the transactions running on nodes in your cluster. | Public and programmable -`node_txn_stats` | Contains transaction statistics for nodes in your cluster. | Public and programmable -`partitions` | Contains information about [partitions](partitioning.html) in your cluster. | Reserved -`predefined_comments` | Contains predefined comments about your cluster. | Reserved -`ranges` | Contains information about ranges in your cluster. | The following columns of this table are public and programmable:
`range_id`, `start_key`, `end_key`, `database_name`, `table_name`, `index_name`, `replicas`, `lease_holder`
The following columns are public and *non*-programmable:
`start_pretty`, `end_pretty`
All other columns are reserved. -`ranges_no_leases` | Contains information about ranges in your cluster, without leases. | See `ranges` -`schema_changes` | Contains information about schema changes in your cluster. | Reserved -`session_trace` | Contains session trace information for your cluster. | Reserved -`session_variables` | Contains information about [session variables](set-vars.html) in your cluster. | Public and programmable -`table_columns` | Contains information about table columns in your cluster. | Public and programmable -`table_indexes` | Contains information about table indexes in your cluster. | Public and programmable -`tables` | Contains information about tables in your cluster. | The following columns of this table are public and programmable:
`table_id`, `name`, `database_name`, `schema_name`
All other columns are reserved. -`zones` | Contains information about [zone configurations](configure-replication-zones.html) in your cluster. | The following columns of this table are public and programmable:
`zone_id`, `zone_name`, `config_sql`
All other columns are reserved. | - ## See also - [`SHOW`](show-vars.html) diff --git a/v20.1/pg-catalog.md b/v20.1/pg-catalog.md new file mode 100644 index 00000000000..5f17918cbb2 --- /dev/null +++ b/v20.1/pg-catalog.md @@ -0,0 +1,69 @@ +--- +title: pg_catalog +summary: The pg_catalog schema contains read-only views that you can use for introspection into your database's tables, columns, indexes, and views. +toc: true +--- + +For PostgreSQL compatibility, CockroachDB provides a [virtual schema](virtual-schemas.html) called `pg_catalog`. The read-only tables in the `pg_catalog` schema roughly correspond to the [system catalogs in PostgreSQL](https://www.postgresql.org/docs/10/catalogs-overview.html). + +{{site.data.alerts.callout_info}} +To ensure that you can view all of the tables in `pg_catalog`, query the tables as a user with [`admin` privileges](authorization.html#admin-role). +{{site.data.alerts.end}} + +## Data exposed by `pg_catalog` + +As stated above, the tables in `pg_catalog` roughly correspond to the PostgreSQL system catalogs. However, not all PostgreSQL system catalogs have a corresponding table in `pg_catalog`, and not all `pg_catalog` tables correspond to a PostgreSQL system catalog. + +To see the list of tables in `pg_catalog`, use the following [`SHOW TABLES`](show-tables.html) statement: + +{% include copy-clipboard.html %} +~~~ sql +> SHOW TABLES FROM SCHEMA pg_catalog; +~~~ + +~~~ + schema_name | table_name | type | owner | estimated_row_count +--------------+-------------------------+-------+-------+---------------------- + pg_catalog | pg_aggregate | table | NULL | NULL + pg_catalog | pg_am | table | NULL | NULL + pg_catalog | pg_attrdef | table | NULL | NULL + pg_catalog | pg_attribute | table | NULL | NULL + ... +~~~ + +{{site.data.alerts.callout_info}} +Unless specified otherwise, queries to `pg_catalog` assume the [current database](sql-name-resolution.html#current-database). +{{site.data.alerts.end}} + +The `pg_catalog` tables with no corresponding PostgreSQL system catalog offer additional information about the objects in a database. + +For example, if the current database is set as [`movr`](movr.html), to return the `pg_catalog` table with additional information about indexes in `movr` database, you can query the `pg_catalog.pg_indexes` table: + +{% include copy-clipboard.html %} +~~~ sql +> SELECT * FROM movr.pg_catalog.pg_indexes; +~~~ + +~~~ + crdb_oid | schemaname | tablename | indexname | tablespace | indexdef +-------------+------------+----------------------------+-----------------------------------------------+------------+--------------------------------------------------------------------------------------------------------------------------------- + 2055313241 | public | users | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.users USING btree (city ASC, id ASC) + 1795576970 | public | vehicles | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.vehicles USING btree (city ASC, id ASC) + 1795576969 | public | vehicles | vehicles_auto_index_fk_city_ref_users | NULL | CREATE INDEX vehicles_auto_index_fk_city_ref_users ON movr.public.vehicles USING btree (city ASC, owner_id ASC) + 450499963 | public | rides | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.rides USING btree (city ASC, id ASC) + 450499960 | public | rides | rides_auto_index_fk_city_ref_users | NULL | CREATE INDEX rides_auto_index_fk_city_ref_users ON movr.public.rides USING btree (city ASC, rider_id ASC) + 450499961 | public | rides | rides_auto_index_fk_vehicle_city_ref_vehicles | NULL | CREATE INDEX rides_auto_index_fk_vehicle_city_ref_vehicles ON movr.public.rides USING btree (vehicle_city ASC, vehicle_id ASC) + 2315049508 | public | vehicle_location_histories | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.vehicle_location_histories USING btree (city ASC, ride_id ASC, "timestamp" ASC) + 969972501 | public | promo_codes | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.promo_codes USING btree (code ASC) + 710236230 | public | user_promo_codes | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.user_promo_codes USING btree (city ASC, user_id ASC, code ASC) +(9 rows) +~~~ + +## See also + +- [`SHOW`](show-vars.html) +- [`SHOW DATABASES`](show-databases.html) +- [`SHOW SCHEMAS`](show-schemas.html) +- [`SHOW TABLES`](show-tables.html) +- [SQL Name Resolution](sql-name-resolution.html) +- [Virtual Schemas](virtual-schemas.html) diff --git a/v20.1/virtual-schemas.md b/v20.1/virtual-schemas.md index 948d4e506d6..72f862cf3ee 100644 --- a/v20.1/virtual-schemas.md +++ b/v20.1/virtual-schemas.md @@ -8,7 +8,7 @@ In addition to the `public` schema, CockroachDB supports a fixed set of virtual The following virtual schemas are included with CockroachDB: -- `pg_catalog`, provided for compatibility with PostgreSQL. +- [`pg_catalog`](pg-catalog.html), provided for compatibility with PostgreSQL. - [`information_schema`](information-schema.html), provided for compatibility with the SQL standard. - [`crdb_internal`](crdb-internal.html), provided for introspection into CockroachDB internals. diff --git a/v20.2/crdb-internal.md b/v20.2/crdb-internal.md index 1538c2b82a8..a07d8399771 100644 --- a/v20.2/crdb-internal.md +++ b/v20.2/crdb-internal.md @@ -7,7 +7,13 @@ toc: true CockroachDB provides a [virtual schema](virtual-schemas.html) called `crdb_internal` that contains information about CockroachDB internals related to a specific cluster. `crdb_internal` tables are read-only. {{site.data.alerts.callout_info}} -The `crdb_internal` views typically represent objects that the current user has privilege to access. To ensure you can view all the objects in a database, access it as the `root` user. +The `crdb_internal` views typically represent objects that the current user has privilege to access. To ensure you can view all the objects in a database, access it as a user with [`admin` privileges](authorization.html#admin-role). +{{site.data.alerts.end}} + +{{site.data.alerts.callout_danger}} +We do not recommend using `crdb_internal` tables in production environments for the following reasons: +- The contents of `crdb_internal` schema are unstable, and subject to change in new releases of CockroachDB. +- There are memory and latency costs associated with each table in `crdb_internal`. Accessing the tables in the schema can impact cluster stability and performance. {{site.data.alerts.end}} ## Data exposed by `crdb_internal` @@ -30,64 +36,6 @@ Unless specified otherwise, queries to `crdb_internal` assume the [current datab (65 rows) ~~~ -## Tables in `crdb_internal` - -`crdb_internal` tables reflect the internals of CockroachDB. As such, the number of tables, and the contents of the tables, in `crdb_internal` can change across CockroachDB versions. - -For stability guidance, we have assigned each table one of following levels of stability: - -- **Public and programmable** tables are suitable for scripting, testing, and other programmatic purposes - -- **Public and non-programmable** tables are suitable for end-user consumption, but are subject to change across major versions and should not be used for programmatic purposes. - -- **Reserved** tables are intended for use by CockroachDB developers and are subject to change across minor versions. We do not recommend using reserved tables. - -In CockroachDB {{ page.release_info.version }}, `crdb_internal` includes the following tables: - -Table | Description | Stability --------|-------|----- -`backward_dependencies` | Contains information about backward dependencies. | Reserved -`builtin_functions` | Contains information about supported [functions](functions-and-operators.html). | Reserved (use `pg_catalog.pg_proc`) -`cluster_queries` | Contains information about queries running on your cluster. | Public and programmable -`cluster_sessions` | Contains information about cluster sessions, including current and past queries. | See `node_sessions` -`cluster_settings` | Contains information about [cluster settings](cluster-settings.html). | Public and programmable -`cluster_transactions` | Contains information about the transactions running on your cluster. | Public and programmable -`create_statements` | Contains information about tables and indexes in your database. | The following columns of this table are public and programmable:
`database_name`, `schema_name`, `descriptor_id`, `descriptor_type`, `descriptor_name`, `create_statement`, `alter_statements`, `validate_statements`
All other columns are reserved. -`create_type_statements` | Contains information about the [user-defined types](enum.html) on your cluster. | Public and non-programmable -`databases` | Contains information about databases on your cluster. | Public and non-programmable -`feature_usage` | Contains information about feature usage on your cluster. | Public and non-programmable -`forward_dependencies` | Contains information about forward dependencies. | Reserved -`gossip_alerts` | Contains information about gossip alerts. | Reserved -`gossip_liveness` | Contains information about your cluster's gossip liveness. | The following columns of this table are public and programmable:
`node_id`, `draining`, `decommissioning`, `updated_at`
All other columns are reserved. -`feature_usage` | Contains information about feature usage on your cluster. -`gossip_network` | Contains information about your cluster's gossip network. | Reserved -`gossip_nodes` | Contains information about nodes in your cluster's gossip network. | The following columns of this table are public and programmable:
`node_id`, `is_live`, `ranges`, `leases`
All other columns are reserved. -`index_columns` | Contains information about indexed columns in your cluster. | Public and programmable -`jobs` | Contains information about [jobs](show-jobs.html) running on your cluster. | The following columns of this table are public and programmable:
`job_id`, `job_type`, `description`, `statement`, `user_name`, `status`, `created`, `started`, `finished`, `fraction_completed`, `error`
All other columns are reserved. -`kv_node_status` | Contains information about node status at the [key-value layer](architecture/storage-layer.html). | The following columns of this table are public and programmable:
`node_id`, `network`, `address`, `attrs`, `locality`, `server_version`, `tag`, `platform`, `distribution`, `type`, `started_at`
All other columns are reserved. -`kv_store_status` | Contains information about the key-value store for your cluster. | The following columns of this table are public and programmable:
`node_id`, `store_id`, `attrs`, `capacity`, `available`, `used`, `logical_bytes`, `range_count`, `lease_count`
All other columns are reserved. -`leases` | Contains information about [leases](architecture/replication-layer.html#leases) in your cluster. | Reserved -`node_build_info` | Contains information about nodes in your cluster. | Public and programmable -`node_metrics` | Contains metrics for nodes in your cluster. | Reserved -`node_queries` | Contains information about queries running on nodes in your cluster. | Public and programmable -`node_runtime_info` | Contains runtime information about nodes in your cluster. | Public and programmable -`node_sessions` | Contains information about sessions to nodes in your cluster. | The following columns of this table are public and programmable:
`node_id`, `session_id`, `user_name`, `client_address`, `application_name`, `active_queries`,`last_active_query`, `session_start`
All other columns are reserved. -`node_statement_statistics` | Contains statement statistics for nodes in your cluster. | Public and programmable -`node_transaction_statistics` | Contains transaction statistics for nodes in your cluster. | Public and programmable -`node_transactions` | Contains information about the transactions running on nodes in your cluster. | Public and programmable -`node_txn_stats` | Contains transaction statistics for nodes in your cluster. | Public and programmable -`partitions` | Contains information about [partitions](partitioning.html) in your cluster. | Reserved -`predefined_comments` | Contains predefined comments about your cluster. | Reserved -`ranges` | Contains information about ranges in your cluster. | The following columns of this table are public and programmable:
`range_id`, `start_key`, `end_key`, `database_name`, `table_name`, `index_name`, `replicas`, `lease_holder`
The following columns are public and *non*-programmable:
`start_pretty`, `end_pretty`
All other columns are reserved. -`ranges_no_leases` | Contains information about ranges in your cluster, without leases. | See `ranges` -`schema_changes` | Contains information about schema changes in your cluster. | Reserved -`session_trace` | Contains session trace information for your cluster. | Reserved -`session_variables` | Contains information about [session variables](set-vars.html) in your cluster. | Public and programmable -`table_columns` | Contains information about table columns in your cluster. | Public and programmable -`table_indexes` | Contains information about table indexes in your cluster. | Public and programmable -`table_row_statistics` | Contains the estimated number of rows in tables on your cluster. | Public and programmable -`tables` | Contains information about tables in your cluster. | The following columns of this table are public and programmable:
`table_id`, `name`, `database_name`, `schema_name`
All other columns are reserved. -`zones` | Contains information about [zone configurations](configure-replication-zones.html) in your cluster. | The following columns of this table are public and programmable:
`zone_id`, `zone_name`, `config_sql`
All other columns are reserved. ## See also diff --git a/v20.2/pg-catalog.md b/v20.2/pg-catalog.md new file mode 100644 index 00000000000..5f17918cbb2 --- /dev/null +++ b/v20.2/pg-catalog.md @@ -0,0 +1,69 @@ +--- +title: pg_catalog +summary: The pg_catalog schema contains read-only views that you can use for introspection into your database's tables, columns, indexes, and views. +toc: true +--- + +For PostgreSQL compatibility, CockroachDB provides a [virtual schema](virtual-schemas.html) called `pg_catalog`. The read-only tables in the `pg_catalog` schema roughly correspond to the [system catalogs in PostgreSQL](https://www.postgresql.org/docs/10/catalogs-overview.html). + +{{site.data.alerts.callout_info}} +To ensure that you can view all of the tables in `pg_catalog`, query the tables as a user with [`admin` privileges](authorization.html#admin-role). +{{site.data.alerts.end}} + +## Data exposed by `pg_catalog` + +As stated above, the tables in `pg_catalog` roughly correspond to the PostgreSQL system catalogs. However, not all PostgreSQL system catalogs have a corresponding table in `pg_catalog`, and not all `pg_catalog` tables correspond to a PostgreSQL system catalog. + +To see the list of tables in `pg_catalog`, use the following [`SHOW TABLES`](show-tables.html) statement: + +{% include copy-clipboard.html %} +~~~ sql +> SHOW TABLES FROM SCHEMA pg_catalog; +~~~ + +~~~ + schema_name | table_name | type | owner | estimated_row_count +--------------+-------------------------+-------+-------+---------------------- + pg_catalog | pg_aggregate | table | NULL | NULL + pg_catalog | pg_am | table | NULL | NULL + pg_catalog | pg_attrdef | table | NULL | NULL + pg_catalog | pg_attribute | table | NULL | NULL + ... +~~~ + +{{site.data.alerts.callout_info}} +Unless specified otherwise, queries to `pg_catalog` assume the [current database](sql-name-resolution.html#current-database). +{{site.data.alerts.end}} + +The `pg_catalog` tables with no corresponding PostgreSQL system catalog offer additional information about the objects in a database. + +For example, if the current database is set as [`movr`](movr.html), to return the `pg_catalog` table with additional information about indexes in `movr` database, you can query the `pg_catalog.pg_indexes` table: + +{% include copy-clipboard.html %} +~~~ sql +> SELECT * FROM movr.pg_catalog.pg_indexes; +~~~ + +~~~ + crdb_oid | schemaname | tablename | indexname | tablespace | indexdef +-------------+------------+----------------------------+-----------------------------------------------+------------+--------------------------------------------------------------------------------------------------------------------------------- + 2055313241 | public | users | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.users USING btree (city ASC, id ASC) + 1795576970 | public | vehicles | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.vehicles USING btree (city ASC, id ASC) + 1795576969 | public | vehicles | vehicles_auto_index_fk_city_ref_users | NULL | CREATE INDEX vehicles_auto_index_fk_city_ref_users ON movr.public.vehicles USING btree (city ASC, owner_id ASC) + 450499963 | public | rides | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.rides USING btree (city ASC, id ASC) + 450499960 | public | rides | rides_auto_index_fk_city_ref_users | NULL | CREATE INDEX rides_auto_index_fk_city_ref_users ON movr.public.rides USING btree (city ASC, rider_id ASC) + 450499961 | public | rides | rides_auto_index_fk_vehicle_city_ref_vehicles | NULL | CREATE INDEX rides_auto_index_fk_vehicle_city_ref_vehicles ON movr.public.rides USING btree (vehicle_city ASC, vehicle_id ASC) + 2315049508 | public | vehicle_location_histories | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.vehicle_location_histories USING btree (city ASC, ride_id ASC, "timestamp" ASC) + 969972501 | public | promo_codes | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.promo_codes USING btree (code ASC) + 710236230 | public | user_promo_codes | primary | NULL | CREATE UNIQUE INDEX "primary" ON movr.public.user_promo_codes USING btree (city ASC, user_id ASC, code ASC) +(9 rows) +~~~ + +## See also + +- [`SHOW`](show-vars.html) +- [`SHOW DATABASES`](show-databases.html) +- [`SHOW SCHEMAS`](show-schemas.html) +- [`SHOW TABLES`](show-tables.html) +- [SQL Name Resolution](sql-name-resolution.html) +- [Virtual Schemas](virtual-schemas.html) diff --git a/v20.2/virtual-schemas.md b/v20.2/virtual-schemas.md index df39aabf157..a7590b1d91e 100644 --- a/v20.2/virtual-schemas.md +++ b/v20.2/virtual-schemas.md @@ -8,7 +8,7 @@ In addition to the `public` schema, CockroachDB includes set of virtual schemas, The following virtual schemas are included with CockroachDB: -- `pg_catalog`, provided for compatibility with PostgreSQL. +- [`pg_catalog`](pg-catalog.html), provided for compatibility with PostgreSQL. - [`information_schema`](information-schema.html), provided for compatibility with the SQL standard. - [`crdb_internal`](crdb-internal.html), provided for introspection into CockroachDB internals. - New in v20.2: `pg_extension`, provided for compatibility with PostgreSQL.