# RedShift

## Supported Connection Methods

* [x] **Direct**

*The default / typical connection option. Interfaces directly with the target system over the Internet with no mediation. Suitable for most cloud-hosted scenarios or public-facing resources. See* [*Network Configuration*](https://docs.lumi-ai.com/using-lumi/network-configuration) *for more details.*

## Supported Limits

* [x] **Duration Limit**

*An alternative to cost, queries will be stopped the system supports a duration/timeout limit and one is set/configured at the organization level (across systems).*

## **Available Parameters**

These properties are the essential source system connection properties that all queries are directed towards.

These properties are the essential source system connection properties that all queries are directed towards.

*\* Required parameters*

<details>

<summary>Host*</summary>

Domain or IP of the database to allow a connection to Lumi AI.

:thumbsup: **Valid Examples**

* Domain name: *docs.lumi-ai.com*
* IPv4: *55.88.92.101*

:thumbsdown: **Invalid Examples**

* IPv4 with alphanumeric characters: *123.abc.def.456*
* Incomplete domain name resolutions: *lumi-ai.com*

</details>

<details>

<summary>Port*</summary>

Access port to allow for connections to the database.

:thumbsup: **Valid Examples**

* Default PostgreSQL port: *5432*

:thumbsdown: **Invalid Examples**

* Known Port Numbers (0-1023): *80*

</details>

<details>

<summary>Username*</summary>

Username of the generated database user which will be used for interactions and transactions.

**Special Considerations**

* If double quotes are used, then the name will be case sensitive

:thumbsup: **Valid Examples**

* Uses alphanumeric characters : *lumi1*
* Utilizing underscore (\_) in place of spaces: *user\_number*

:thumbsdown: **Invalid Examples**

* Starting with a number: *1lumi*
* Utilizing spaces: *user name*
* Using invalid characters: *user#1*

</details>

<details>

<summary>Password*</summary>

Password of the generated database user which will be used for interactions and transactions.

</details>

<details>

<summary>Database*</summary>

Literal database name that will be used for transactions within the agents.

**Special Considerations**

* If case sensitivity is required, utilize double quotes for database name; ex. "New\_database"

:thumbsup: **Valid Examples**

* Uses alphanumeric characters: *lumi1*
* Utilizing underscore (\_) in place of spaces: *new\_database*

:thumbsdown: **Invalid Examples**

* Starting with a number: *1lumi*
* Utilizing spaces: *user name*
* Using reserved words unquoted: *select*

</details>

## **System Permissions & Configuration**

Provided user must have the following:

* [x] ROLE with LOGIN privileges&#x20;
* [x] PRIVILEGE to CONNECT on database
* [x] PRIVILEGE to USAGE on schema

\**Note —  To ensure ever*y *schema can be accessed, please run the following code command:*

```
GRANT USAGE ON SCHEMA <schema> TO <user>;
```

* [x] SELECT PRIVILEGE in table(s)

\**Note —  To ensure ever*y *table can be accessed, please run the following code command:*

```
GRANT USAGE ON SCHEMA <schema>.<table> TO <user>;
```

* [x] (if applicable) SELECT PRIVILEGE on table(s) for column(s)

For configurations:

* [x] Ensure the server is allowing connections from the Lumi gateway or server

## Special Considerations

* Special characters and case sensitivity can be utilized in database names and usernames via encasing the name in double quotes (" "), but is not recommended

## Common Issue

* Ensure the firewall settings allow for a connection to a database
