Amazon Redshift catalogs #

You can use a Redshift catalog to configure access to an Amazon Redshift cluster.

Create a catalog #

To create a Redshift catalog, select Catalogs in the main navigation and click Create catalog. Click on the Redshift button in the Select a data source screen.

Select a data source

Define catalog name and description #

The Name of the catalog is visible in the Query editor and other clients. It is used to identify the catalog when writing SQL or showing the catalog and its nested schemas and tables in client applications.

The name is displayed in the Query editor, and when running a SHOW CATALOGS command. It is used to fully qualify the name of any table in SQL queries following the catalogname.schemaname.tablename syntax. For example, you can run the following query in the sample cluster without first setting the catalog or schema context.

SELECT * FROM tpch.sf1.nation;

The Description is a short, optional paragraph that provides further details about the catalog. It appears in the Starburst Galaxy user interface and can help other users determine what data can be accessed with the catalog.

Enter catalog name and description

Configure the connection #

The connection to the database requires username and password authentication and details to connect to the database server, typically hostname or IP address and port. The following sections detail the setup for the supported cloud providers.

A connection to the database can be established directly, if the Starburst Galaxy IP range/CIDR is allowed to connect.

If the database is only accessible inside the virtual private cloud (VPC) of the cloud provider, you can use an SSH tunnel with a bastion host in the VPC.

Amazon Redshift configuration #

To configure the connection to your Amazon Redshift cluster, you need to provide the following details:

  • Redshift endpoint, use the fully qualified domain name for the server available as Endpoint in the General information tab for the cluster. The value follows a pattern of host:port/database, typically like the example
  • Database username, use a user with sufficient access rights to allow the desired querying. For example, if you only want to query data for analytics, the user does not have to have write access.
  • Database password, use the password for the user.

The Amazon Redshift cluster needs to fulfill the following requirements:

  • Configured for Publicly accessible, available in the Amazon console for your cluster in Properties - Network and security settings.
  • VPC security group configured to allow Starburst Galaxy access. The specific IP address range/CIDR is dependent on your AWS region, and displayed after a Test connection execution. Add it as an inbound rule to allow the range.

Test the connection #

Once you have configured the connection details, use the Test connection button to confirm data access is working. If the test is successful, you can then save the catalog.

If the test fails, Starburst Galaxy provides detailed diagnostic information that you can use to fix the database configuration in the cloud provider system.

Test connection

Connect catalog #

Click Connect catalog, and proceed to set permissions where you can grant access to certain roles.

Set permissions #

This optional step allows you to configure read access, read only access, and full read and write access to the catalog.

Click Skip to go straight to adding the catalog to a cluster. If you skip this step, you can add read only access as well as full read and write access to your catalog for any role later. Skipping this step leaves only administrative roles, and the current role while creating the catalog, with access to all schemas and tables within the catalog.

Setting read only permissions grants the specified roles read only access to the catalog. As a result users have read only access to all contained schema, tables, and views.

Setting read/write permissions grants the specified roles full read and write access to the catalog. As a result users have full read and write access to all contained schema, tables, and views.

Use the following steps to assign read/write access to roles:

  • In the Role-level permissions section, expand the menu in the Roles with read and write access field.
  • From the list, select one or more roles to grant read and write access to.
  • Expand the menu in the Roles with read access field.
  • Select one or more roles from the list to grant read access to.
  • Click Save access controls.

      Set permissions for read and write screenshot

Add to cluster #

You can add your catalog to a cluster later by editing a cluster. Click Skip to proceed to the catalogs page.

Use the following steps to add your catalog to an existing cluster or create a new cluster in the same cloud region:

  • In the Add to cluster section, expand the menu in the Select cluster field.
  • Select one or more existing clusters from the drop down menu.
  • Click Create a new cluster to create a new cluster in the same region, and add it to the cluster selection menu.
  • Click Add to cluster to view your new catalog’s configuration.

      Add to cluster

The Pending changes to clusters dialog appears when you try to add a catalog to a running cluster.

  • In the Pending changes to cluster dialog, click Return to catalogs to edit the catalog or create a new catalog.
  • Click Go to clusters to confirm the addition of the catalog to the running cluster.
  • On the Clusters page, click the Update icon beside the running cluster, to add the catalog.

      pending changes to cluster dialog

SQL support #

The catalog provides read access and write access to data and metadata in Redshift. It supports the following features:

The following sections provide Redshift catalog-specific information regarding SQL support.

Data management details #

If a WHERE clause is specified, the DELETE operation only works if the predicate in the clause can be fully pushed down to the data source.

Schema and table management details #

The catalog does not support renaming tables across multiple schemas. For example, the following statement is supported:

ALTER TABLE catalog.schema_one.table_one RENAME TO catalog.schema_one.table_two

The following statement attempts to rename a table across schemas, and therefore is not supported:

ALTER TABLE catalog.schema_one.table_one RENAME TO catalog.schema_two.table_two

The catalog supports renaming a schema with the ALTER SCHEMA RENAME statement. ALTER SCHEMA SET AUTHORIZATION is not supported.