> For the complete documentation index, see [llms.txt](https://upsolver.gitbook.io/content/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://upsolver.gitbook.io/content/reference-1/sql-commands/connections/create-connection/polaris-catalog.md).

# Polaris Catalog

In order to create and work with data lake tables and Apache Iceberg tables within Upsolver, you first need to establish a connection with a metadata store such as Polaris Catalog.

## Syntax

```sql
CREATE ICEBERG_REST_CATALOG CONNECTION <connection_identifier> 
  URI = '<polaris_catalog_URI>'
  CLIENT_PROPERTIES = (warehouse = '<warehouse_name>', 
  CREDENTIAL = '<client_id>:<secret_key>',
  SCOPE='PRINCIPAL_ROLE:<Principal_role_name>',
  <ANY_ADDITIONAL_PROPERTY> = 'property_vale')
  [ COMMENT = '<comment>' ];
```

#### Jump to

* [`URI`](#uri-editable)
* [`CLIENT_PROPERTIES`](#client_properties-editable)
  * [`CREDENTIAL`](#credential-editable)
  * [`SCOPE`](#scope)
  * [`WAREHOUSE`](#warehouse)
* [`COMMENT`](#comment-editable)

## Connection options

#### `URI` — editable

Type: `text`

The Polaris catalog URL.&#x20;

This is the endpoint where the platform will connect to access your Polaris data for example:  `https://<account_locator>.snowflakecomputing.com/polaris/api/catalog`

#### **`CLIENT_PROPERTIES — editable`**

Client properties should be passed in this format: `<property_name> = 'property_value'`.

While `credential`, `scope,` and `warehouse` are mandatory, you can pass any additional properties as necessary.

`CREDENTIAL`

Type: `text`

The credentials used to access the catalog in the format `'<client_id>:<secret_key>'` where:

* `client_id` -  Polaris Client ID. This unique identifier is provided by Polaris and is required for secure authentication.
* `secret_key` - Polaris Secret Key. This key works with your Client ID to securely authenticate your connection to Polaris.&#x20;

#### `SCOPE`

Type: `text`

OAuth scope limit for access to Polaris. Use `PRINCIPAL_ROLE:ALL` if you are unsure.&#x20;

#### `WAREHOUSE`

Type: `text`

The Polaris catalog name. Note, the catalog name is case sensitive.

#### `COMMENT` — editable

Type: `text`

(Optional) A description or comment regarding this connection.

## Example

```sql
CREATE ICEBERG_REST_CATALOG CONNECTION my_polaris_catalog
  URI = 'https://<account_locator>.snowflakecomputing.com/polaris/api/catalog'
  CLIENT_PROPERTIES = (warehouse = 'my_warehouse',
  credential = 'my_client_id:my_secret', 
  scope='PRINCIPAL_ROLE=ALL'); 
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://upsolver.gitbook.io/content/reference-1/sql-commands/connections/create-connection/polaris-catalog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
