CREATE CATALOG INTEGRATION (Snowflake Postgres)

Crée une nouvelle intégration de catalogue dans le compte ou remplace une intégration de catalogue existante afin que Snowflake Postgres puisse accéder aux tables Apache Iceberg™ gérées par une instance Snowflake Postgres.

Voir aussi :

ALTER CATALOG INTEGRATION, DROP CATALOG INTEGRATION, SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION

Syntaxe

CREATE [ OR REPLACE ] CATALOG INTEGRATION [ IF NOT EXISTS ] <name>
  CATALOG_SOURCE = SNOWFLAKE_POSTGRES
  TABLE_FORMAT = ICEBERG
  [ CATALOG_NAMESPACE = '<namespace>' ]
  REST_CONFIG = (
    restConfigParams
  )
  ENABLED = { TRUE | FALSE }
  [ COMMENT = '<string_literal>' ]

Où :

restConfigParams ::=

POSTGRES_INSTANCE = '<instance_name>'
ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
[ CATALOG_NAME = '<database_name>' ]

Paramètres

name

Chaîne spécifiant l’identificateur (le nom) de l’intégration de catalogue ; elle doit être unique sur votre compte.

De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple, "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus d’informations, voir Exigences relatives à l’identificateur.

CATALOG_SOURCE = SNOWFLAKE_POSTGRES

Spécifie que la source du catalogue est une instance Snowflake Postgres.

TABLE_FORMAT = ICEBERG

Spécifie ICEBERG comme format de table fourni par le catalogue.

CATALOG_NAMESPACE = 'namespace'

Spécifie éventuellement l’espace de noms de schéma par défaut pour les tables découvertes via cette intégration de catalogue. Par exemple, 'public'.

ENABLED = { TRUE | FALSE }

Indique si l’intégration de catalogue peut être utilisée pour des tables Iceberg.

  • TRUE permet aux utilisateurs de créer de nouvelles tables Iceberg faisant référence à cette intégration.

  • FALSE empêche les utilisateurs de créer de nouvelles tables Iceberg faisant référence à cette intégration.

La valeur est insensible à la casse.

La valeur par défaut est TRUE.

COMMENT = 'string_literal'

Chaîne (littéral) qui spécifie un commentaire pour l’intégration.

Par défaut : aucune valeur

Paramètres de configuration REST (restConfigParams)

POSTGRES_INSTANCE = 'instance_name'

Spécifie le nom de l’instance Snowflake Postgres. Requis. L’instance Postgres doit afficher un état READY. Pour créer une instance Postgres, consultez CREATE POSTGRES INSTANCE.

ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS

Spécifie le mode de délégation d’accès pour l’accès aux données et aux métadonnées des tables dans le stockage Cloud. La seule valeur prise en charge est VENDED_CREDENTIALS.

CATALOG_NAME = 'database_name'

Spécifie éventuellement le nom de la base de données Postgres par défaut. Vous pouvez remplacer cette valeur par table ou par base de données liée à un catalogue.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

CREATE INTEGRATION

Compte

Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed.

USAGE

Instance Postgres

Requis sur l’instance Postgres spécifiée par POSTGRES_INSTANCE.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Exemples

L’exemple suivant crée une intégration de catalogue pour une instance Snowflake Postgres :

CREATE CATALOG INTEGRATION my_postgres_catalog_int
  CATALOG_SOURCE = SNOWFLAKE_POSTGRES
  TABLE_FORMAT = ICEBERG
  CATALOG_NAMESPACE = 'public'
  REST_CONFIG = (
    POSTGRES_INSTANCE = 'my_pg_instance'
    ACCESS_DELEGATION_MODE = VENDED_CREDENTIALS
    CATALOG_NAME = 'my_database'
  )
  ENABLED = TRUE;