Show tables, describe tables equivalent in redshift
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
Amazon Redshift does not support MySQL-style commands such as SHOW TABLES or DESCRIBE table_name as direct SQL statements. Instead, you query system views and metadata tables to get the same information. Once you know the right views, the Redshift equivalent is straightforward and often more flexible than the shorthand commands from other databases.
List Tables in a Schema
The most portable way is information_schema.tables.
This is the closest SQL equivalent to "show me the tables in this schema."
If you want Redshift-specific metadata, svv_tables is also useful:
That can be more convenient when you want a Redshift-oriented view of objects rather than generic ANSI metadata.
Describe the Columns of One Table
To inspect a table’s columns, use information_schema.columns:
This is the basic "describe table" equivalent and works well when you want column order, data types, and nullability.
Redshift also exposes pg_table_def, which many users like for quick schema inspection:
This adds Redshift-specific details such as encoding, distribution key, and sort key behavior.
Check Distribution and Sort Key Details
If you are working with performance tuning, plain column listing is not always enough. Redshift-specific views help you inspect storage-related metadata too.
For example, svv_table_info gives a quick operational summary:
That is not the same as DESCRIBE, but it is often the next thing you actually need after finding the table definition.
If You Use psql or a SQL Client
Some SQL clients provide their own shortcuts, but those are client features, not Redshift SQL.
For example, in psql you might use meta-commands such as:
Those can be handy interactively, but they will not work in JDBC, BI tools, or scripts that expect plain SQL. For portable automation, stick to information_schema and Redshift system views.
Choose the Right Metadata Source
A practical rule:
- use
information_schema.tablesto list tables - use
information_schema.columnsto describe columns - use
pg_table_deforsvv_table_infowhen you need Redshift-specific physical details
That combination covers most day-to-day inspection work.
Common Pitfalls
The biggest mistake is assuming SHOW TABLES or DESCRIBE should work just because they exist in other databases. In Redshift, metadata access is query-based.
Another issue is querying the wrong schema. If your table lives outside public, the metadata query may return nothing even though the table exists.
Permissions also matter. Metadata visibility depends on what the current user can see, so a missing result is not always proof that the object does not exist.
Finally, remember that client meta-commands are not SQL. They are convenient interactively, but they are not the right answer for application code or repeatable scripts.
Summary
- Redshift does not provide direct SQL commands named
SHOW TABLESorDESCRIBE. - Use
information_schema.tablesto list tables. - Use
information_schema.columnsto inspect a table’s columns. - Use
pg_table_defandsvv_table_infofor Redshift-specific schema and storage details. - Prefer plain SQL metadata queries over client-only shortcuts when you need portable scripts.

