> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hightouch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CockroachDB

> Power internal tools, in-app experiences, and more

## Unique identifiers

Hightouch requires a unique identifier in the destination Cockroach table to add, remove, and update rows. The column must be either a `UNIQUE` or `PRIMARY KEY` column. At least one Hightouch field must map to a unique column.

If you're unsure whether your mapping includes a compatible column, just try it. Hightouch will error if you need to change your mappings.

## Column types

Hightouch works out of the box with all standard column types, including:

* `BIGINT`
* `INT`
* `TEXT`
* `VARCHAR`
* `TIMESTAMPTZ`
* `BOOLEAN`
* `DECIMAL`

If you see type errors, it may be because your SQL query is producing the wrong format. Message us on Intercom if you need help.

## Required permissions

Your Cockroach credentials must be able to:

* `SELECT`, `INSERT`, `UPDATE` and `DELETE` rows from the destination table.
* Perform the following queries:
  * `SHOW SCHEMAS`
  * `SHOW TABLES FROM <schema>`
  * `SHOW CONSTRAINTS FROM <schema>.<table>`
  * `SHOW COLUMNS FROM <schema>.<table>`

## Tips and troubleshooting

To see the exact API requests and responses from each sync run, use the [live debugger](https://docs.hightouch.com/syncs/debugger.md). To get notified by Slack, PagerDuty, SMS, or email when a sync fails, set up [sync alerts](https://docs.hightouch.com/syncs/alerting.md). If you run into an issue this page doesn't cover, [contact support](#pylon-chat).
