Requirements
To follow the steps in this guide, you’ll need:- Organization Admin permissions in Omni
- Permissions in Redshift that allow you to create database users and grant permissions
Setup
Create a database user for Omni
In your Redshift database, run the following command to create a database user for Omni:Next, run the following command for each schema you want to use in Omni:
Create an Omni database user
Grant Omni access to schemas
Set up a table upload schema
This step is optional. However, we recommend completing it as part of the initial set up or you won’t be able to use uploaded files like CSVs in joins.
- Create the schema in Redshift.
-
Run the following to grant the Omni user the required privileges:
Grant Omni access to table upload schema
Allowlist Omni's IP addresses
If access to the Redshift database is limited by IP address, you’ll need to add Omni’s IPs to the allowlist before you create the database connection. For Redshift, this typically means creating a security group and adding an inbound traffic rule for each IP address.Omni’s IP addresses can be found on an individual connection’s page, accessed by navigating to Settings > Connections and clicking a connection.
Create the connection in Omni
- In Omni, click Settings > Connections.
- Click the Redshift option.
-
On the connection setup page, fill in the connection details:
requiredA user-friendly name for the connection, which will be used throughout Omni.requiredThe address of the database server.default:"5439"requiredThe port number for the database connection.requiredThe database to connect to.requiredThe username for database authentication.requiredThe password for database authentication.requiredThe timezone used by the database.requiredThe timezone to use for Omni queries. If a timezone is specified, data will be converted from the Database Timezone to the selected timezone.When enabled, users can override the connection timezone with their own when querying.default:"enabled"When enabled, Omni will automatically infer relationships between tables based on column name matching during schema refreshes. Defaults to enabled.default:"900"Maximum time in seconds before a query times out.default:"enabled"When enabled, Omni will prefix generated view names with schema and catalog, e.g.
my_catalog_public__ordersinstead oforders. Defaults to enabled. See View name generation for more information.requiredSelect the minimum level of access users should have to models in the connection. - When finished, click Create connection.
Connecting to Redshift datashares
Redshift data sharing lets you share data across Redshift databases and clusters. To make datashare tables available in Omni, you need to create an external schema in the database Omni connects to and grant the Omni user access to it.Create an external schema
In the consumer database (the one Omni connects to), run:Create an external schema for the datashare
<external_schema_name>— the name the schema will have in your local database<datashare_database_name>— the name of the shared database<source_schema_name>— the schema within the shared database to expose
Grant the Omni user access
Grant the Omni user usage on the external schema:Grant schema access to the Omni user
WITH_PERMISSIONS flag, you also need to grant usage on the shared database:
Grant database access (WITH_PERMISSIONS datashares only)
Verify Omni can see the tables
To confirm the external schema and its tables are visible to the Omni user, run the following queries as the Omni user:Verify table visibility
Verify column visibility
What’s next?
Now that your database is set up, you can:- Use the Omni Agent’s quickstart skill to create your first topic from business questions
- Configure user permissions, schema refreshes, environments and timezone settings
- Learn how Omni generates the model associated with the connection

