Amazon Redshift Show Tables: 2 Comprehensive Aspects

on Amazon Redshift, Cloud Computing, Data Integration, Data Warehouses, Database Schema Design, SQL • September 13th, 2021 • Write for Hevo

Cloud computing has become a go-to solution for most organizations as it provides computer resources such as Cloud Data Storage and Computing power that can be operated and managed without direct active involvement from the company’s service teams. Using Cloud Computing software by an organization helps reducing inefficiencies and improve the productivity of the company. Cloud Data Warehouses services offer a cost-effective solution for storage and computation.

Amazon Redshift is a Data Warehouse that is better than traditional Databases and on-premise Data Warehouses. It is easy to set up and use. Like other Postgres Databases, a similar method is followed to Amazon Redshift Show Tables. It becomes essential to know about all the tables available in the Data Warehouse to run queries and make better use of data.

In this article, you will be introduced to Amazon Redshift, a Cloud Data Warehouse service, and show you how to query Amazon Redshift Show Tables to make it easy to carry out operations as it relates to tables in your schema. First, you will be introduced to Amazon Redshift and then put through how to show and describe Amazon Redshift Show Tables.

Table of Contents

Introduction to Amazon Redshift

Amazon Redshift Logo
Image Source

Amazon Redshift is a fully managed, petabyte-scale Data Warehouse that offers its services in the Cloud. It is part of a larger Cloud Computing platform offering by Amazon known as Amazon Web Services (AWS). Amazon Redshift allows you to access data using SQL commands and integrates with Business Intelligence (BI) tools. It helps you run complex queries of structured and semi-structured data using sophisticated query optimization and columnar storage through standard ODBC (Open Database Connectivity) and JDBC (Java Database Connectivity) connections.

Amazon Redshift technology foundation is built on Massive Parallel Processing (MPP), and it handles large-scale data sets and migrations effectively as most results are returned in seconds. Amazon Redshift is easy to set up and can manage all the operating and scaling tasks effortlessly. The tasks of setting up may include the provision of capacity, monitoring and backing up clusters, applying patches and upgrades for you, depending on your needs.

Key Features of Amazon Redshift

Amazon Redshift is one of the widely used Data Warehouses with many features. It can easily integrate with other Cloud platforms and offers a different solution to connect with on-premise data sources. A few more features of Amazon Redshift are listed below:

  • Redshift ML: With the help of Amazon SageMaker models, Amazon Redshift allows Data Analysts to create, train and deploy models based on their requirements. By using SQL commands to query Amazon Redshift Show Tables, one can access data to train models.
  • Column-Oriented Design: Amazon Redshift is a Column-oriented Data Warehouse that helps it achieve query performance. It stores data in a columnar structure that enables it to provide efficient storage with Data Compression Encoding schemes. 
  • Massively Parallel Processing: Amazon Redshift delivers faster query performance than other Data Warehouse services by running multiple queries in different clusters and distributing workload on other processors. The MPP makes it easier to complete tasks within minutes.
  • Backup Services: Amazon Redshift offers automatic backup features of your Data Warehouse to multiple zones around the world. It is to avoid any data loss in any disaster.
  • End-to-End Encryption: Amazon Redshift secures data with AES-256 Encryption and transfers data over SSL. By default, the encryption keys are managed by Amazon Redshift.

To learn more about Amazon Redshift, click here.

Simplify Data Analysis with Hevo’s No-code Data Pipeline

Hevo Data, a No-code Data Pipeline helps to load data from any data source such as Databases, SaaS applications, Cloud Storage, SDK,s, and Streaming Services and simplifies the ETL process. It supports 100+ data sources and is a 3-step process by just selecting the data source, providing valid credentials, and choosing the destination. Hevo not only loads the data onto the desired Data Warehouse/destination but also enriches the data and transforms it into an analysis-ready form without having to write a single line of code.

Get Started with Hevo for Free

Its completely automated pipeline offers data to be delivered in real-time without any loss from source to destination. Its fault-tolerant and scalable architecture ensures that the data is handled in a secure, consistent manner with zero data loss and supports different forms of data. The solutions provided are consistent and work with different BI tools as well.

Check out why Hevo is the Best:

  1. Secure: Hevo has a fault-tolerant architecture that ensures that the data is handled in a secure, consistent manner with zero data loss.
  2. Schema Management: Hevo takes away the tedious task of schema management & automatically detects the schema of incoming data and maps it to the destination schema.
  3. Minimal Learning: Hevo, with its simple and interactive UI, is extremely simple for new customers to work on and perform operations.
  4. Hevo Is Built To Scale: As the number of sources and the volume of your data grows, Hevo scales horizontally, handling millions of records per minute with very little latency.
  5. Incremental Data Load: Hevo allows the transfer of data that has been modified in real-time. This ensures efficient utilization of bandwidth on both ends.
  6. Live Support: The Hevo team is available round the clock to extend exceptional support to its customers through chat, E-Mail, and support calls.
  7. Live Monitoring: Hevo allows you to monitor the data flow and check where your data is at a particular point in time.
Sign up here for a 14-Day Free Trial!

Understanding Amazon Redshift Show Tables

Query Editor for Amazon Redshift Show Tables
Image Source

Suppose you want to generate a report from the data available in Amazon Redshift. What will you do first? You want to have the list of all the tables from multiple data sources stored in the Data Warehouse. So that you can identify which table to be used for that particular task. Amazon Redshift Show Tables queries allow you to get a list of all the tables and its description.

It gives an overview of all the data stored in the Data Warehouse. Amazon Redshift Show Tables follows some concepts that are important to know. In this section, you will understand the 2 important aspects of Amazon Redshift Show Tables listed below:

1) PG_TABLE_DEF

Sample Output for PG_TABLE_DEF Amazon Redshift Show Tables Query
Image Source

To view Amazon Redshift Show Tables, you will need to use the query “PG_TABLE_DEF” systems table. It is used to return the properties of Amazon Redshift Show Tables in your database, and the prefix “PG_” is used because Amazon Redshift is built off Postgres.

When “SELECT*FROM PG_TABLE_DEF” is queried, you get the following columns:

  • Schemaname: The data type for the “schemaname” is the “name”, and it is used to describe the Schema name of the column. To limit the result of your Amazon Redshift Show Tables search, specify the “schemaname” column to Public to return only results found there to make it more specific.
  • Tablename: The data type is the “name“, and it describes the Table name of all Amazon Redshift Show Tables.
  • Column: The data type of “column” is the “name“, and it describes the Column name.
  • Type: The data type is “text“, and it describes the Data type of column.
  • Encoding: The data type is the “character(32)”, and it describes the Encoding of the column.
  • Distkey: The data type is “boolean“, and it describes “True” if the column is the distribution key for the table.
  • Sortkey: The data type is an “integer“, and it describes the order of the column in the sort key. Table using the compound sort key means that all columns of tables that are part of the sort key will have a positive value that indicates the position of the column in the sort key. If the table uses an interleaved sort key, then each column that is part of the sort key, and has a value that is alternatively positive or negative, where the absolute value is the position of the column in the sort key. The column is not part of a sort key if the value is 0.
  • Notnull: The data type is “boolean“, and it describes “True” if the column has a “NOT NULL” constraint.

Running Amazon Redshift Show Tables query of “SELECT*FROM PG_TABLE_DEF” will return every column from the table found in every schema, which means that every system table will be included and each table will be listed numerous times, one for each column with the options described above.

If you want to get a list of Amazon Redshift Show Tables specific to your query, use the following query of Amazon Redshift Show Tables shown below.

SELECT DISTINT tablename FROM pg_table_def WHERE schemaname = ‘public’;

The above query for Amazon RedShift Show Tables on execution will return a single column of table names for the public schema, where you can find most of the data.

Here is the example of the interleaved sort key columns for the “LINEORDER_INTERLEAVED” table, shown below.

select "column", type, encoding, distkey, sortkey, "notnull" 
from pg_table_def
where tablename = 'lineorder_interleaved' 
and sortkey <> 0;
 
column       | type    | encoding | distkey | sortkey | notnull
-------------+---------+----------+---------+---------+--------
lo_orderkey  | integer | delta32k | false   |      -1 | true   
lo_custkey   | integer | none     | false   |       2 | true   
lo_partkey   | integer | none     | true    |      -3 | true   
lo_suppkey   | integer | delta32k | false   |       4 | true   
lo_orderdate | integer | delta    | false   |      -5 | true   
(5 rows)
Search_Path in Parameter Groups Panel
Image Source

PG_TABLE_DEF” will always return information for tables in the schema that is included in the “search_path“. Hence, you will have to understand and know which “search_path” is needed to query the Amazon Redshift Show Tables at any point in time. 

The “search_path” is a comma-separated list of existing schema names as displayed below with default in bold.

‘$user’, public, schema_names

The “search_path” defines the order in which schemas will be searched when any Amazon Redshift Show Tables are referenced by simply using a name without any schema component. It is used to specify the following cases listed below:

  • When search paths are not supported with the external schemas and external tables, then the external tables must be explicitly qualified by an external schema.
  • The objects are placed in the first schema listed in the search path whenever a new object is created without any specific target schema. An error is returned if the search path is empty.
  • The search path uses the first object in the search list whenever any object with identical names is available in different schemas.
  • An object can only be referenced that does not exist in any of the schemas in the search path by specifying its containing schema with a qualified (dotted) name.
  • When the system catalog schema “pg_catalog” is mentioned in the path, it will always search in the specified order. If not, it will be searched before any of the path items.
  • The current session’s temporary-table schema “pg_temp_nnn” is always searched. If it exists and it can be listed in the path using the alias “pg_temp“. It is searched first if it is not listed in the path even before “pg_catalog” but, the temporary schema search is for relation names and not for function names.

The example query that creates the schema ENTERPRISE and sets the search_path to the new schema, shown below.

create schema enterprise;
set search_path to enterprise;
show search_path;
 
search_path
-------------
 enterprise
(1 row)

The following example adds the schema ENTERPRISE to the default “search_path” shown below.

set search_path to '$user', public, enterprise;
show search_path;
 
search_path
-----------------------------
"$user", public, enterprise
(1 row)

Conclusion

In this article, you learned the highlighted ways to query Amazon Redshift Show Tables. It described the “PG_TABLE_DEF” syntax used in querying Amazon Redshift Show Tables and which columns will be displayed when queried. It further mentioned how “search_path” information for tables included in “PG_TABLE_DEF” is returned when referenced. Amazon Redshift helps companies store their valuable data and analyze it to make smarter business decisions.

Visit our Website to Explore Hevo

Amazon Redshift stores data from multiple sources and every source follows a different schema. Instead of manually writing scripts for every source to perform the ETL (Extract Transform Load) process, one can automate the whole process.  Hevo Data is a No-code Data pipeline solution that can help you transfer data from 100+ sources to Amazon Redshift or other Data Warehouse of your choice. Its fault-tolerant and user-friendly architecture fully automates the process of loading and transforming data to destination without writing a single line of code. 

Want to take Hevo for a spin? Sign Up here for a 14-day free trial and experience the feature-rich Hevo suite first hand.

Share your experience of learning about the Amazon Redshift Show Tables in the comments section below!

No-code Data Pipeline For your Amazon Redshift