Amazon Redshift

Supported Data warehouses & lakehouses

Catalog Redshift provisioned clusters and Serverless workgroups: schemas, tables, views, columns, procedures and UDFs, with SQL lineage from views and query history.

Capabilities

CapabilitySupportNotes
Tables, views & columns Supported
Keys, constraints & indexes Partial Keys are informational in Redshift (not enforced) but are imported.
Procedures & functions Supported
Data lineage Supported
Lineage from query history Supported Statements collected from SYS_QUERY_HISTORY / STL_QUERYTEXT.
Business glossary links Supported
Data quality probes Supported
Data profiling Supported
Data classification Supported
Chat with your data Supported

Connection settings

Create the connection on the Blindata Agent from Settings > Agents > Connections with the connection wizard, choosing Amazon Redshift in the technology step.

Driver classcom.amazon.redshift.jdbc42.Driver
JDBC URLjdbc:redshift://<cluster>.<region>.redshift.amazonaws.com:5439/dev
Authentication
Service principal (shared technical user)
User principal (personal credentials, BYOC)
Ephemeral credentials (asked at each run)
Crawling strategySQL

The Blindata Agent does not include this driver: download the vendor JDBC driver and copy the .jar into the agent drivers folder, as described in Add JDBC drivers. Driver properties can be added under Advanced settings in the connection wizard.

Prerequisites & permissions

  • A Blindata Agent installed with network access to Amazon Redshift.
  • The vendor JDBC driver installed on the agent (see Add JDBC drivers).
  • USAGE on the schemas to document; metadata is read from information_schema, pg_catalog and the SVV_* views.
  • SYSLOG ACCESS UNRESTRICTED (or the sys:monitor role) to read query history of all users.
  • SELECT on tables for data quality, profiling and Chat with your data.
  • IAM authentication is supported with jdbc:redshift:iam:// URLs.

Set up metadata crawling

  1. Create the connection to Amazon Redshift on the agent (see Connection settings) and use Test to verify it.
  2. Create or open the system that represents Amazon Redshift in the catalog and link it to the connection.
  3. In the CRAWLING tab add a crawling job with strategy SQL and, if needed, replace the default queries with the ones suggested below.
  4. Run a TEST to check the number of extracted objects, then RUN or schedule the job.

The job options and the column aliases of every extraction query are described in the Generic JDBC reference.

Suggested extraction queries

The default SQL strategy queries on information_schema work for tables, views and columns. Use the following routines query to import procedures and UDFs with their parameters.

Routines query

The following query returns the function body (prosrc). Redshift has no json_agg / json_build_object; build ROUTINE_PARAMETERS as a JSON string with LISTAGG from information_schema.parameters (same JSON shape the agent expects). Overloads that share proname can collapse — prefer specific_name from information_schema.routines when that view is readable.

SELECT
  'put_catalog_name_here' AS ROUTINE_CATALOG,
  n.nspname AS ROUTINE_SCHEMA,
  p.proname AS ROUTINE_NAME,
  p.proname AS SPECIFIC_NAME,
  p.prosrc AS ROUTINE_DEFINITION,
  COALESCE(
    (
      SELECT '[' || LISTAGG(
        '{"positionIndex":' || CAST(par.ordinal_position - 1 AS VARCHAR)
        || ',"name":"' || REPLACE(par.parameter_name, '"', '\\"')
        || '","dataType":"' || REPLACE(par.data_type, '"', '\\"')
        || '"}',
        ','
      ) WITHIN GROUP (ORDER BY par.ordinal_position) || ']'
      FROM information_schema.parameters par
      WHERE par.specific_schema = n.nspname
        AND par.specific_name = p.proname
        AND UPPER(COALESCE(par.parameter_mode, 'IN')) IN ('IN', 'INOUT')
        AND par.parameter_name IS NOT NULL
        AND par.parameter_name <> ''
    ),
    '[]'
  ) AS ROUTINE_PARAMETERS
FROM pg_catalog.pg_namespace n
JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid
WHERE n.nspname NOT IN ('information_schema', 'pg_catalog')

Lineage from query history

The agent can periodically extract executed statements from Amazon Redshift and send them to Blindata, where the SQL lineage engine turns them into dataflows. See the ready-made extraction query in Scheduling and statements extraction.