- Categorias:
Funções do sistema (Informações do sistema)
SYSTEM$LIST_NAMESPACES_FROM_CATALOG¶
Lista os namespaces em um catálogo remoto Apache Iceberg™ REST (incluindo o Snowflake Open Catalog).
- Consulte também:
Sintaxe¶
SYSTEM$LIST_NAMESPACES_FROM_CATALOG( '<catalog_integration_name>'
[ , '<parent_namespace>', <levels> ] )
Argumentos¶
Obrigatório:
catalog_integration_name
Identificador para integração de catálogo para Iceberg REST ou Snowflake Open Catalog.
Opcional:
parent_namespace
O identificador do namespace a partir do qual iniciar a listagem de namespaces.
Se
CATALOG_NAMESPACE
for definido no nível de integração do catálogo, para recuperar os resultados do 0º nível de namespace no catálogo, especifique uma cadeia de caracteres vazia (''
).Se
CATALOG_NAMESPACE
for definido apenas no nível da tabela, os resultados do 0º nível de namespace serão retornados por padrão, portanto, você não precisará especificar uma cadeia de caracteres vazia (''
).Padrão:
Se
CATALOG_NAMESPACE
for definido no nível de integração do catálogo, o namespace da integração do catálogo.Se
CATALOG_NAMESPACE
for definido apenas no nível da tabela, você recupera os resultados do 0º nível de namespace no catálogo.
levels
Especifica o número de níveis a serem percorridos na hierarquia de namespace para listagem de namespaces filho.
Por exemplo:
Se definido como 0, a função retorna todos os namespaces, recursivamente, relativos ao
parent_namespace
.Se definido como 1, a função retorna todos os namespaces um nível abaixo do
parent_namespace
.Se definido como n, a função retorna namespaces com até n níveis de profundidade, em relação ao
parent_namespace
.
Padrão: 1
Retornos¶
Retorna uma cadeia de caracteres no formato JSON que lista namespaces no catálogo Iceberg REST para o namespace pai especificado e o número de níveis.
A cadeia de caracteres formatada em JSON tem a seguinte estrutura:
[
"<namespace_identifier>",
"<namespace_identifier_n>"
]
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
Privilégio |
Objeto |
Notas |
---|---|---|
USAGE |
Integração (catálogo) |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Exemplos¶
Liste apenas os namespaces diretamente sob o namespace padrão da integração do catálogo:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration');
Liste todos os namespaces recursivamente no catálogo:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', '', 0);
Liste apenas os namespaces um nível abaixo (diretamente abaixo) do namespace “db1”:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1');
Liste os namespaces em três níveis sob o namespace “db1”:
SELECT SYSTEM$LIST_NAMESPACES_FROM_CATALOG('my_catalog_integration', 'db1', 3);