# Vertica

[OpenText Analytics Database][opentext-adb] (Vertica) is a columnar database
designed for big data analytics.

## Prerequisites

- The hostname for the [Vertica][vertica] database server
- The username/password for the [Vertica][vertica] database server
- The name of the database to use within the [Vertica][vertica] database server

## Setup

### Manual

Add the following to a `.env` file in your Cube project:

```dotenv
CUBEJS_DB_TYPE=vertica
CUBEJS_DB_HOST=my.vertica.host
CUBEJS_DB_USER=vertica_user
CUBEJS_DB_PASS=**********
CUBEJS_DB_SCHEMA=my_vertica_schema
```

## Environment Variables

| Environment Variable       | Description                                                                         | Possible Values                               | Required |
| -------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------- | :------: |
| <EnvVar>CUBEJS_DB_HOST</EnvVar>           | The host URL for a database                                                         | A valid database host URL                     |    ✅    |
| <EnvVar>CUBEJS_DB_PORT</EnvVar>           | The port for the database connection                                                | A valid port number                           |    ❌    |
| <EnvVar>CUBEJS_DB_USER</EnvVar>           | The username used to connect to the database                                        | A valid database username                     |    ✅    |
| <EnvVar>CUBEJS_DB_PASS</EnvVar>           | The password used to connect to the database                                        | A valid database password                     |    ✅    |
| <EnvVar>CUBEJS_DB_SCHEMA</EnvVar>         | The schema within the database to connect to                                        | A valid schema name within a Presto database  |    ✅    |
| <EnvVar>CUBEJS_DB_SSL</EnvVar>            | If `true`, enables SSL encryption for database connections from Cube                | `true`, `false`                               |    ❌    |
| <EnvVar>CUBEJS_DB_MAX_POOL</EnvVar>       | The maximum number of concurrent database connections to pool. Default is `8`       | A valid number                                |    ❌    |
| <EnvVar>CUBEJS_CONCURRENCY</EnvVar> | The number of [concurrent queries][ref-data-source-concurrency] to the data source | A valid number |    ❌    |

[ref-data-source-concurrency]: /product/configuration/concurrency#data-source-concurrency


## SSL

To enable SSL-encrypted connections between Cube and Verica, set the
<EnvVar>CUBEJS_DB_SSL</EnvVar> environment variable to `true`. For more information on how to
configure custom certificates, please check out [Enable SSL Connections to the
Database][ref-recipe-enable-ssl].

[opentext-adb]: https://www.opentext.com/products/analytics-database?o=vert
[vertica]: https://www.vertica.com/documentation/vertica/all/
[ref-recipe-enable-ssl]:/product/configuration/recipes/using-ssl-connections-to-data-source
  
