> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Dicionários geobase integrados no ClickHouse

# Dicionários integrados (geobase)

<CloudNotSupportedBadge />

<Note>
  Esta página não se aplica ao [ClickHouse Cloud](https://clickhouse.com/cloud). O recurso documentado aqui não está disponível nos serviços do ClickHouse Cloud.
  Consulte o guia [Compatibilidade com Cloud](/pt-BR/products/cloud/guides/cloud-compatibility) do ClickHouse para mais informações.
</Note>

O ClickHouse contém um recurso integrado para trabalhar com uma geobase.

Isso permite que você:

* Use o ID de uma região para obter seu nome no idioma desejado.
* Use o ID de uma região para obter o ID de uma cidade, área, distrito federal, país ou continente.
* Verifique se uma região faz parte de outra região.
* Obtenha uma cadeia de regiões ascendentes.

Todas as funções oferecem suporte a "translocality", a capacidade de usar simultaneamente diferentes perspectivas sobre o pertencimento de regiões. Para mais informações, consulte a seção "Funções para trabalhar com dicionários de análise da web".

Os dicionários internos vêm desabilitados no pacote padrão.
Para habilitá-los, descomente os parâmetros `path_to_regions_hierarchy_file` e `path_to_regions_names_files` no arquivo de configuração do servidor.

A geobase é carregada de arquivos de texto.

Coloque os arquivos `regions_hierarchy*.txt` no diretório `path_to_regions_hierarchy_file`. Esse parâmetro de configuração deve conter o caminho para o arquivo `regions_hierarchy.txt` (a hierarquia regional padrão), e os outros arquivos (`regions_hierarchy_ua.txt`) devem estar no mesmo diretório.

Coloque os arquivos `regions_names_*.txt` no diretório `path_to_regions_names_files`.

Você também pode criar esses arquivos manualmente. O formato do arquivo é o seguinte:

`regions_hierarchy*.txt`: TabSeparated (sem cabeçalho), colunas:

* ID da região (`UInt32`)
* ID da região pai (`UInt32`)
* tipo de região (`UInt8`): 1 - continente, 3 - país, 4 - distrito federal, 5 - região, 6 - cidade; os outros tipos não têm valores
* população (`UInt32`) — coluna opcional

`regions_names_*.txt`: TabSeparated (sem cabeçalho), colunas:

* ID da região (`UInt32`)
* nome da região (`String`) — Não pode conter tabulações nem quebras de linha, mesmo escapadas.

Um array plano é usado para armazenamento na RAM. Por esse motivo, os IDs não devem ser maiores que um milhão.

Os dicionários podem ser atualizados sem reiniciar o servidor. No entanto, o conjunto de dicionários disponíveis não é atualizado.
Nas atualizações, as datas de modificação dos arquivos são verificadas. Se um arquivo tiver sido alterado, o dicionário será atualizado.
O intervalo para verificar alterações é configurado no parâmetro `builtin_dictionaries_reload_interval`.
As atualizações de dicionários (exceto o carregamento no primeiro uso) não bloqueiam consultas. Durante as atualizações, as consultas usam as versões antigas dos dicionários. Se ocorrer um erro durante uma atualização, o erro será gravado no log do servidor, e as consultas continuarão usando a versão antiga dos dicionários.

Recomendamos atualizar periodicamente os dicionários da geobase. Durante uma atualização, gere novos arquivos e grave-os em um local separado. Quando tudo estiver pronto, renomeie-os com os nomes dos arquivos usados pelo servidor.

Também existem funções para trabalhar com identificadores de SO e mecanismos de busca, mas elas não devem ser usadas.
