SYSTEM RELOAD EMBEDDED DICTIONARIES
Recarrega todos os dicionários internos.
Por padrão, os dicionários internos ficam desabilitados.
Sempre retorna Ok., independentemente do resultado da atualização dos dicionários internos.
SYSTEM RELOAD DICTIONARIES
A consulta SYSTEM RELOAD DICTIONARIES recarrega dicionários com status LOADED (consulte a coluna status de system.dictionaries), ou seja, dicionários que já foram carregados com sucesso anteriormente.
Por padrão, os dicionários são carregados sob demanda (consulte dictionaries_lazy_load), portanto, em vez de serem carregados automaticamente na inicialização, eles são inicializados no primeiro acesso, por meio da função dictGet ou de SELECT em tabelas com ENGINE = Dictionary.
Sintaxe
SYSTEM RELOAD DICTIONARIES [ON CLUSTER cluster_name]SYSTEM RELOAD DICTIONARY
Recarrega por completo o dicionário dictionary_name, independentemente do estado do dicionário (LOADED / NOT_LOADED / FAILED).
Sempre retorna Ok., independentemente do resultado da atualização do dicionário.
SYSTEM RELOAD DICTIONARY [ON CLUSTER cluster_name] dictionary_nameO status do dicionário pode ser verificado consultando a tabela system.dictionaries.
SELECT name, status FROM system.dictionaries;SYSTEM UNLOAD DICTIONARY
Descarrega um Dicionário dictionary_name para liberar a memória dele, se o status do dicionário for LOADED.
O dicionário é recarregado sob demanda quando necessário novamente.
SYSTEM UNLOAD DICTIONARY dictionary_nameO status do dicionário pode ser verificado consultando a tabela system.dictionaries.
SELECT name, status FROM system.dictionaries;SYSTEM UNLOAD DICTIONARIES
A consulta SYSTEM UNLOAD DICTIONARIES descarrega todos os dicionários com status LOADED (consulte a coluna status de system.dictionaries), ou seja, os dicionários que já foram carregados com sucesso.
SYSTEM UNLOAD DICTIONARIESSYSTEM RELOAD MODELS
Remove da memória todos os modelos CatBoost.
Sintaxe
SYSTEM RELOAD MODELS [ON CLUSTER cluster_name]SYSTEM RELOAD MODEL
Descarrega um modelo CatBoost em model_path.
Sintaxe
SYSTEM RELOAD MODEL [ON CLUSTER cluster_name] <model_path>SYSTEM RELOAD FUNCTIONS
Recarrega todas as funções executáveis definidas pelo usuário registradas, ou uma delas, de um arquivo de configuração.
Sintaxe
SYSTEM RELOAD FUNCTIONS [ON CLUSTER cluster_name]
SYSTEM RELOAD FUNCTION [ON CLUSTER cluster_name] function_nameSYSTEM RELOAD ASYNCHRONOUS METRICS
Recalcula todas as métricas assíncronas. Como as métricas assíncronas são atualizadas periodicamente com base na configuração asynchronous_metrics_update_period_s, em geral não é necessário atualizá-las manualmente com esta instrução.
SYSTEM RELOAD ASYNCHRONOUS METRICS [ON CLUSTER cluster_name]SYSTEM CLEAR|DROP DNS CACHE
Limpa o cache DNS interno do ClickHouse. Às vezes (em versões mais antigas do ClickHouse), é necessário usar este comando ao alterar a infraestrutura (mudando o endereço IP de outro servidor ClickHouse ou do servidor usado pelos dicionários).
Para um gerenciamento de cache mais prático (automático), consulte os parâmetros disable_internal_dns_cache, dns_cache_max_entries, dns_cache_update_period.
SYSTEM CLEAR|DROP MARK CACHE
Limpa o cache de marks.
SYSTEM CLEAR|DROP PRIMARY INDEX CACHE
Limpa o cache de índice primário, que mantém em memória as chaves primárias das tabelas MergeTree.
Seu tamanho é configurado pela configuração no nível do servidor primary_index_cache_size.
SYSTEM CLEAR|DROP ICEBERG METADATA CACHE
Limpa o cache de metadados do Iceberg.
SYSTEM CLEAR|DROP AVRO SCHEMA CACHE
Limpa os caches por URL do Confluent Schema Registry usados pelo formato AvroConfluent. Isso remove tanto o cache de obtenção de schema (id → schema) quanto o cache de registro de schema (subject + schema → id), fazendo com que leituras e gravações subsequentes voltem a recorrer ao servidor do registry. É útil quando um schema foi excluído ou reescrito no registry, ou para verificar a idempotência do registry em testes.
SYSTEM DROP PARQUET METADATA CACHE
Limpa o cache de metadados do Parquet.
SYSTEM CLEAR|DROP PAIMON METADATA CACHE
Limpa o cache em memória dos arquivos de metadados do Paimon processados (listas de manifestos e manifestos).
SYSTEM CLEAR|DROP POINT IN POLYGON CACHE
Limpa o cache de polígonos constantes pré-processados usado pela função pointInPolygon. O limite de tamanho configurado (a configuração no nível do servidor point_in_polygon_cache_size) permanece inalterado, portanto o cache continua aceitando novas entradas depois disso. Para desativar o cache, defina point_in_polygon_cache_size como 0.
SYSTEM CLEAR|DROP TEXT INDEX CACHES
Limpa os caches de tokens, de cabeçalho e de postings do índice de texto.
Se quiser limpar um desses caches individualmente, você pode executar
SYSTEM CLEAR TEXT INDEX TOKENS CACHE,SYSTEM CLEAR TEXT INDEX HEADER CACHE, ouSYSTEM CLEAR TEXT INDEX POSTINGS CACHE
SYSTEM CLEAR|DROP INDEX MARK CACHE
Limpa o cache de marcas dos índices secundários (de salto de dados).
SYSTEM CLEAR|DROP INDEX UNCOMPRESSED CACHE
Limpa o cache de blocos não comprimidos dos índices secundários (de salto de dados).
SYSTEM CLEAR|DROP MMAP CACHE
Limpa o cache de arquivos mapeados em memória.
SYSTEM CLEAR|DROP PAGE CACHE
Limpa o cache de páginas em espaço do usuário, o cache em memória do próprio ClickHouse para dados lidos do armazenamento subjacente.
SYSTEM CLEAR|DROP VECTOR SIMILARITY INDEX CACHE
Limpa o cache do índice de similaridade vetorial.
SYSTEM CLEAR|DROP CONNECTIONS CACHE
Limpa o cache dos pools de conexões HTTP usados nas conexões de saída.
SYSTEM CLEAR|DROP S3 CLIENT CACHE
Limpa o cache dos clientes S3.
SYSTEM PREWARM MARK CACHE
Carrega as marcas de uma tabela para o cache de marcas. As marcas dos índices secundários também são carregadas para o cache de marcas de índice.
SYSTEM PREWARM MARK CACHE [ON CLUSTER cluster_name] [db.]tableSYSTEM PREWARM PRIMARY INDEX CACHE
Carrega os índices primários de uma tabela MergeTree para o cache de índice primário.
SYSTEM PREWARM PRIMARY INDEX CACHE [ON CLUSTER cluster_name] [db.]tableSYSTEM CLEAR|DROP DISK METADATA CACHE
Limpa o cache de metadados do disco especificado.
SYSTEM DROP DISK METADATA CACHE <disk_name>SYSTEM SYNC FILESYSTEM CACHE
Reconcilia o estado em memória do cache do sistema de arquivos do ClickHouse com os arquivos de cache efetivamente presentes em disco e retorna o cache_name, o path e o size baixado de cada segmento de arquivo em cache. Um nome de cache opcional limita a operação a um único cache.
SYSTEM SYNC FILESYSTEM CACHE ['<cache_name>']SYSTEM CLEAR|DROP DISTRIBUTED CACHE
Remove o Distributed Cache. Use CONNECTIONS para remover apenas as conexões em cache com os servidores do Distributed Cache ou informe o identificador de um servidor específico.
SYSTEM DROP DISTRIBUTED CACHE [CONNECTIONS | 'server_id']SYSTEM DROP REPLICA
Réplicas inativas de tabelas ReplicatedMergeTree podem ser removidas usando a sintaxe a seguir:
SYSTEM DROP REPLICA 'replica_name' FROM TABLE database.table;
SYSTEM DROP REPLICA 'replica_name' FROM DATABASE database;
SYSTEM DROP REPLICA 'replica_name';
SYSTEM DROP REPLICA 'replica_name' FROM ZKPATH '/path/to/table/in/zk';As consultas removerão o caminho da réplica ReplicatedMergeTree no ZooKeeper. Isso é útil quando a réplica está inativa e seus metadados não podem ser removidos do ZooKeeper com DROP TABLE, porque essa tabela não existe mais. Ela removerá apenas a réplica inativa/desatualizada e não pode remover a réplica local; para isso, use DROP TABLE. DROP REPLICA não remove nenhuma tabela nem remove dados ou metadados do disco.
A primeira remove os metadados da réplica 'replica_name' da tabela database.table.
A segunda faz o mesmo para todas as tabelas replicadas no banco de dados.
A terceira faz o mesmo para todas as tabelas replicadas no servidor local.
A quarta é útil para remover os metadados de uma réplica inativa quando todas as outras réplicas de uma tabela tiverem sido removidas. Ela exige que o caminho da tabela seja especificado explicitamente. Deve ser o mesmo caminho que foi passado como primeiro argumento do motor ReplicatedMergeTree na criação da tabela.
SYSTEM DROP DATABASE REPLICA
Réplicas inativas de bancos de dados Replicated podem ser removidas com a seguinte sintaxe:
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM DATABASE database;
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'];
SYSTEM DROP DATABASE REPLICA 'replica_name' [FROM SHARD 'shard_name'] FROM ZKPATH '/path/to/table/in/zk';Semelhante a SYSTEM DROP REPLICA, mas remove do ZooKeeper o caminho da réplica do banco de dados Replicated quando não existe um banco de dados sobre o qual executar DROP DATABASE. Observe que isso não remove réplicas ReplicatedMergeTree (portanto, talvez você também precise de SYSTEM DROP REPLICA). Os nomes do shard e da réplica são os que foram especificados nos argumentos do mecanismo Replicated ao criar o banco de dados. Além disso, esses nomes podem ser obtidos nas colunas database_shard_name e database_replica_name em system.clusters. Se a cláusula FROM SHARD estiver ausente, replica_name deverá ser um nome completo de réplica no formato shard_name|replica_name.
SYSTEM CLEAR|DROP UNCOMPRESSED CACHE
Limpa o cache de dados não comprimidos.
O cache de dados não comprimidos é ativado/desativado pela configuração use_uncompressed_cache no nível de consulta/usuário/perfil.
Seu tamanho pode ser configurado usando a configuração no nível do servidor uncompressed_cache_size.
SYSTEM CLEAR|DROP COMPILED EXPRESSION CACHE
Limpa o cache de expressões compiladas.
O cache de expressões compiladas é ativado/desativado pela configuração compile_expressions no nível de consulta/usuário/perfil.
SYSTEM CLEAR|DROP QUERY CONDITION CACHE
Limpa o cache de condições de consulta.
SYSTEM CLEAR|DROP ENCRYPTION HEADERS CACHE
Limpa o cache de cabeçalhos de criptografia. Esse cache armazena os cabeçalhos de criptografia lidos no início de arquivos criptografados e é usado pelo caminho de leitura experimental use_reader_executor para evitar relê-los; seu tamanho é configurado pela configuração do servidor encryption_header_cache_size.
SYSTEM CLEAR|DROP QUERY CACHE
SYSTEM CLEAR QUERY CACHE;
SYSTEM CLEAR QUERY CACHE TAG '<tag>'Limpa o cache de consultas. Se uma tag for especificada, somente as entradas do cache de consultas com a tag especificada serão excluídas.
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE
Limpa o cache dos esquemas carregados a partir de format_schema_path.
Alvos compatíveis:
- Protobuf: Remove da memória as definições de mensagens Protobuf importadas.
- Files: Exclui os arquivos de esquema em cache armazenados localmente no
format_schema_path, gerados quandoformat_schema_sourceé definido comoquery. Observação: Se nenhum alvo for especificado, ambos os caches serão limpos.
SYSTEM CLEAR|DROP FORMAT SCHEMA CACHE [FOR Protobuf/Files]SYSTEM FLUSH LOGS
Descarrega mensagens de log em buffer nas tabelas de sistema, por exemplo, system.query_log. É útil principalmente para depuração, já que a maioria das tabelas de sistema tem um intervalo padrão de flush de 7,5 segundos. Isso também criará tabelas de sistema mesmo que a fila de mensagens esteja vazia.
SYSTEM FLUSH LOGS [ON CLUSTER cluster_name] [log_name|[database.table]] [, ...]Se você não quiser fazer flush de tudo, poderá fazer flush de um ou mais logs individuais informando o nome deles ou o da respectiva tabela de destino:
SYSTEM FLUSH LOGS query_log, system.query_views_log;SYSTEM RELOAD CONFIG
Recarrega a configuração do ClickHouse. É usado quando a configuração está armazenada no ZooKeeper. Observe que SYSTEM RELOAD CONFIG não recarrega a configuração de USER armazenada no ZooKeeper; ele recarrega apenas a configuração de USER armazenada em users.xml. Para recarregar toda a configuração de USER, use SYSTEM RELOAD USERS
SYSTEM RELOAD CONFIG [ON CLUSTER cluster_name]SYSTEM RELOAD USERS
Recarrega todos os armazenamentos de acesso, incluindo: users.xml, o armazenamento de acesso em disco local e o armazenamento de acesso replicado (no ZooKeeper).
SYSTEM RELOAD USERS [ON CLUSTER cluster_name]SYSTEM SHUTDOWN
Normalmente encerra o ClickHouse (como service clickhouse-server stop / kill {$pid_clickhouse-server})
SYSTEM KILL
Encerra o processo do ClickHouse (como kill -9 {$ pid_clickhouse-server})
SYSTEM INSTRUMENT
Gerencia pontos de instrumentação usando o recurso XRay do LLVM, que está disponível quando o ClickHouse é compilado com ENABLE_XRAY=1.
Isso permite depurar e gerar perfis em produção sem modificar o código-fonte e com sobrecarga mínima.
Quando nenhum ponto de instrumentação é adicionado, o impacto no desempenho é desprezível, pois isso apenas adiciona um salto extra para um endereço próximo
no prólogo e no epílogo das funções com mais de 200 instruções.
SYSTEM INSTRUMENT ADD
Adiciona um novo ponto de instrumentação. As funções instrumentadas podem ser inspecionadas na tabela de sistema system.instrumentation. Mais de um handler pode ser adicionado à mesma função, e eles serão executados na mesma ordem em que a instrumentação foi adicionada.
As funções a serem instrumentadas podem ser obtidas na tabela de sistema system.symbols.
Há três tipos diferentes de handlers que podem ser adicionados às funções:
Sintaxe
SYSTEM INSTRUMENT ADD FUNCTION HANDLER [ARGUMENTS]em que FUNCTION é qualquer função ou substring de uma função, como QueryMetricLog::startQuery, e o handler é um dos seguintes
LOG
Imprime o texto fornecido como argumento e o stack trace na ENTRY ou na EXIT da função.
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG ENTRY 'this is a log printed at entry'
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' LOG EXIT 'this is a log printed at exit'SLEEP
Suspende a execução por um número fixo de segundos em ENTRY ou EXIT:
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0.5ou para um número aleatório de segundos com distribuição uniforme, informando o mínimo e o máximo separados por um espaço em branco:
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' SLEEP ENTRY 0 1PROFILE
Mede o tempo gasto entre ENTRY e EXIT de uma função.
O resultado do profiling é armazenado em system.trace_log e pode ser convertido
no Chrome Event Trace Format.
SYSTEM INSTRUMENT ADD 'QueryMetricLog::startQuery' PROFILESYSTEM INSTRUMENT REMOVE
Remove um único ponto de instrumentação com:
SYSTEM INSTRUMENT REMOVE IDtodos usando a palavra-chave ALL:
SYSTEM INSTRUMENT REMOVE ALLum conjunto de IDs de uma subconsulta:
SYSTEM INSTRUMENT REMOVE (SELECT id FROM system.instrumentation WHERE handler = 'log')ou todos os pontos de instrumentação que tenham um determinado function_name:
SYSTEM INSTRUMENT REMOVE 'QueryMetricLog::startQuery'As informações sobre o ponto de instrumentação podem ser obtidas na tabela de sistema system.instrumentation.
Gerenciando tabelas distribuídas
O ClickHouse pode gerenciar tabelas distribuídas. Quando um usuário insere dados nessas tabelas, o ClickHouse primeiro cria uma fila com os dados que devem ser enviados aos nós do cluster e depois os envia de forma assíncrona. Você pode gerenciar o processamento da fila com as consultas STOP DISTRIBUTED SENDS, FLUSH DISTRIBUTED e START DISTRIBUTED SENDS. Você também pode inserir dados distribuídos de forma síncrona com a configuração distributed_foreground_insert.
SYSTEM STOP DISTRIBUTED SENDS
Desativa a distribuição de dados em segundo plano ao inserir dados em tabelas distribuídas.
SYSTEM STOP DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]SYSTEM FLUSH DISTRIBUTED
Força o ClickHouse a enviar dados aos nós do cluster de forma síncrona. Se algum nó estiver indisponível, o ClickHouse gera uma exceção e interrompe a execução da consulta. Você pode tentar a consulta novamente até que ela seja concluída com sucesso, o que acontecerá quando todos os nós voltarem a ficar online.
Você também pode sobrescrever algumas configurações usando a cláusula SETTINGS; isso pode ser útil para contornar limitações temporárias, como max_concurrent_queries_for_all_users ou max_memory_usage.
SYSTEM FLUSH DISTRIBUTED [db.]<distributed_table_name> [ON CLUSTER cluster_name] [SETTINGS ...]SYSTEM START DISTRIBUTED SENDS
Ativa a distribuição de dados em segundo plano ao inserir dados em tabelas distribuídas.
SYSTEM START DISTRIBUTED SENDS [db.]<distributed_table_name> [ON CLUSTER cluster_name]SYSTEM STOP LISTEN
Fecha o socket e encerra de forma controlada as conexões existentes com o servidor na porta e no protocolo especificados.
No entanto, se as configurações de protocolo correspondentes não tiverem sido especificadas na configuração do clickhouse-server, este comando não terá efeito.
SYSTEM STOP LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']- Se o modificador
CUSTOM 'protocol'for especificado, o protocolo personalizado com o nome indicado, definido na seção de protocolos da configuração do servidor, será interrompido. - Se o modificador
QUERIES ALL [EXCEPT .. [,..]]for especificado, todos os protocolos serão interrompidos, exceto os especificados na cláusulaEXCEPT. - Se o modificador
QUERIES DEFAULT [EXCEPT .. [,..]]for especificado, todos os protocolos padrão serão interrompidos, exceto os especificados na cláusulaEXCEPT. - Se o modificador
QUERIES CUSTOM [EXCEPT .. [,..]]for especificado, todos os protocolos personalizados serão interrompidos, exceto os especificados na cláusulaEXCEPT.
SYSTEM START LISTEN
Permite estabelecer novas conexões nos protocolos especificados.
No entanto, se o servidor na porta e no protocolo especificados não tiver sido interrompido com o comando SYSTEM STOP LISTEN, este comando não terá efeito.
SYSTEM START LISTEN [ON CLUSTER cluster_name] [QUERIES ALL | QUERIES DEFAULT | QUERIES CUSTOM | TCP | TCP WITH PROXY | TCP SECURE | HTTP | HTTPS | MYSQL | GRPC | POSTGRESQL | PROMETHEUS | CUSTOM 'protocol']Gerenciamento de tabelas MergeTree
O ClickHouse pode gerenciar processos em segundo plano em tabelas MergeTree.
SYSTEM STOP MERGES
Permite interromper os merges em segundo plano de tabelas da família MergeTree:
SYSTEM STOP MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]SYSTEM START MERGES
Permite iniciar merges em segundo plano para tabelas da família MergeTree:
SYSTEM START MERGES [ON CLUSTER cluster_name] [ON VOLUME <volume_name> | [db.]merge_tree_family_table_name]SYSTEM STOP TTL MERGES
Permite interromper a exclusão em segundo plano de dados antigos de acordo com a expressão TTL para tabelas da família MergeTree:
Retorna Ok. mesmo que a tabela não exista ou não use o motor MergeTree. Retorna erro quando o banco de dados não existe:
SYSTEM STOP TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]SYSTEM START TTL MERGES
Permite iniciar a exclusão em segundo plano de dados antigos de acordo com a expressão TTL para tabelas da família MergeTree:
Retorna Ok. mesmo que a tabela não exista. Retorna erro quando o banco de dados não existe:
SYSTEM START TTL MERGES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]SYSTEM STOP MOVES
Permite interromper a movimentação de dados em segundo plano de acordo com a expressão TTL da tabela com a cláusula TO VOLUME ou TO DISK para tabelas da família MergeTree:
Retorna Ok. mesmo que a tabela não exista. Retorna erro quando o banco de dados não existe:
SYSTEM STOP MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]SYSTEM START MOVES
Permite iniciar a movimentação de dados em segundo plano de acordo com a expressão TTL da tabela com as cláusulas TO VOLUME e TO DISK para tabelas da família MergeTree:
Retorna Ok. mesmo que a tabela não exista. Retorna erro quando o banco de dados não existe:
SYSTEM START MOVES [ON CLUSTER cluster_name] [[db.]merge_tree_family_table_name]SYSTEM UNFREEZE
Remove um backup congelado com o nome especificado de todos os disks. Veja mais sobre como descongelar partes individuais em ALTER TABLE table_name UNFREEZE WITH NAME
SYSTEM UNFREEZE WITH NAME <backup_name>SYSTEM WAIT LOADING PARTS
Aguarde até que todas as partes de dados de uma tabela carregadas de forma assíncrona (partes de dados desatualizadas) sejam carregadas.
SYSTEM WAIT LOADING PARTS [ON CLUSTER cluster_name] [db.]merge_tree_family_table_nameGerenciando tabelas ReplicatedMergeTree
O ClickHouse pode gerenciar, em segundo plano, os processos relacionados à replicação em tabelas ReplicatedMergeTree.
SYSTEM STOP FETCHES
Permite interromper os fetches em segundo plano de partes inseridas em tabelas da família ReplicatedMergeTree:
Sempre retorna Ok., independentemente do motor da tabela, mesmo que a tabela ou o banco de dados não existam.
SYSTEM STOP FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM START FETCHES
Oferece a possibilidade de iniciar fetches em segundo plano para partes inseridas em tabelas da família ReplicatedMergeTree:
Sempre retorna Ok. independentemente do motor da tabela, mesmo que a tabela ou o banco de dados não existam.
SYSTEM START FETCHES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM STOP REPLICATED SENDS
Permite interromper, em segundo plano, o envio de novas partes inseridas para outras réplicas no cluster em tabelas da família ReplicatedMergeTree:
SYSTEM STOP REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM START REPLICATED SENDS
Permite iniciar, em segundo plano, o envio de novas partes inseridas para outras réplicas no cluster em tabelas da família ReplicatedMergeTree:
SYSTEM START REPLICATED SENDS [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM STOP REPLICATION QUEUES
Permite interromper tarefas de fetch em segundo plano das filas de replicação armazenadas no ZooKeeper para tabelas da família ReplicatedMergeTree. Os possíveis tipos de tarefas em segundo plano são: merges, fetches, mutation e instruções DDL com a cláusula ON CLUSTER:
SYSTEM STOP REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM START REPLICATION QUEUES
Permite iniciar tarefas de fetch em segundo plano a partir das filas de replicação armazenadas no Zookeeper para tabelas da família ReplicatedMergeTree. Os tipos possíveis de tarefas em segundo plano são - merges, fetches, mutation, instruções DDL com a cláusula ON CLUSTER:
SYSTEM START REPLICATION QUEUES [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM STOP PULLING REPLICATION LOG
Interrompe a leitura de novas entradas do log de replicação para a fila de replicação em uma tabela ReplicatedMergeTree.
SYSTEM STOP PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM START PULLING REPLICATION LOG
Cancela SYSTEM STOP PULLING REPLICATION LOG.
SYSTEM START PULLING REPLICATION LOG [ON CLUSTER cluster_name] [[db.]replicated_merge_tree_family_table_name]SYSTEM SYNC REPLICA
Aguarde até que uma tabela ReplicatedMergeTree esteja sincronizada com outras réplicas em um cluster, mas por no máximo receive_timeout segundos.
SYSTEM SYNC REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_name [IF EXISTS] [STRICT | LIGHTWEIGHT [FROM 'srcReplica1'[, 'srcReplica2'[, ...]]] | PULL]Após executar esta instrução, [db.]replicated_merge_tree_family_table_name busca comandos do log replicado comum para sua própria fila de replicação, e então a consulta aguarda até que a réplica processe todos os comandos buscados. Há suporte para os seguintes modificadores:
- Com
IF EXISTS(disponível desde a versão 25.6), a consulta não gerará erro se a tabela não existir. Isso é útil ao adicionar uma nova réplica a um cluster, quando ela já faz parte da configuração do cluster, mas ainda está em processo de criação e sincronização da tabela. - Se um modificador
STRICTfor especificado, a consulta aguardará até que a fila de replicação fique vazia. A versãoSTRICTpode nunca ser concluída com sucesso se novas entradas continuarem aparecendo na fila de replicação. - Se um modificador
LIGHTWEIGHTfor especificado, a consulta aguardará apenas o processamento das entradasGET_PART,ATTACH_PART,DROP_RANGE,REPLACE_RANGEeDROP_PART. Além disso, o modificador LIGHTWEIGHT oferece suporte a uma cláusula opcional FROM 'srcReplicas', em que 'srcReplicas' é uma lista, separada por vírgulas, com nomes de réplicas de origem. Essa extensão permite uma sincronização mais direcionada, ao focar apenas nas tarefas de replicação originadas das réplicas de origem especificadas. - Se um modificador
PULLfor especificado, a consulta extrai novas entradas da fila de replicação do ZooKeeper, mas não aguarda o processamento de nada.
SYNC DATABASE REPLICA
Aguarda até que o banco de dados replicado especificado aplique todas as alterações de esquema presentes na fila DDL desse banco de dados.
Sintaxe
SYSTEM SYNC DATABASE REPLICA replicated_database_name;SYSTEM RESTART REPLICA
Permite reinicializar o estado da sessão do ZooKeeper para a tabela ReplicatedMergeTree, comparar o estado atual com o ZooKeeper como fonte da verdade e adicionar tarefas à fila do ZooKeeper, se necessário.
A inicialização da fila de replicação com base nos dados do ZooKeeper acontece da mesma forma que na instrução ATTACH TABLE. Por um curto período, a tabela ficará indisponível para qualquer operação.
SYSTEM RESTART REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_nameSYSTEM RESTORE REPLICA
Restaura uma réplica se os dados [possivelmente] ainda estiverem presentes, mas os metadados do ZooKeeper tiverem sido perdidos.
Funciona apenas em tabelas ReplicatedMergeTree somente leitura.
É possível executar a consulta após:
- Perda da raiz
/do ZooKeeper. - Perda do caminho de réplicas
/replicas. - Perda do caminho de uma réplica específica
/replicas/replica_name/.
A réplica anexa as partes encontradas localmente e envia informações sobre elas ao ZooKeeper. As partes presentes em uma réplica antes da perda dos metadados não são buscadas novamente de outras réplicas se não estiverem desatualizadas (ou seja, restaurar a réplica não significa baixar novamente todos os dados pela rede).
SYSTEM RESTORE DATABASE REPLICA
Restaura uma réplica caso os dados [possivelmente] ainda estejam presentes, mas os metadados do Zookeeper tenham sido perdidos.
Sintaxe
SYSTEM RESTORE DATABASE REPLICA repl_db [ON CLUSTER cluster]Exemplo
CREATE DATABASE repl_db
ENGINE=Replicated("/clickhouse/repl_db", shard1, replica1);
CREATE TABLE repl_db.test_table (n UInt32)
ENGINE = ReplicatedMergeTree
ORDER BY n PARTITION BY n % 10;
-- zookeeper_delete_path("/clickhouse/repl_db", recursive=True) <- perda do nó raiz.
SYSTEM RESTORE DATABASE REPLICA repl_db;Sintaxe
SYSTEM RESTORE REPLICA [db.]replicated_merge_tree_family_table_name [ON CLUSTER cluster_name]Sintaxe alternativa:
SYSTEM RESTORE REPLICA [ON CLUSTER cluster_name] [db.]replicated_merge_tree_family_table_nameExemplo
Criar uma tabela em vários servidores. Depois que os metadados da réplica no ZooKeeper são perdidos, a tabela será anexada em modo somente leitura, já que os metadados estão ausentes. A última consulta precisa ser executada em cada réplica.
CREATE TABLE test(n UInt32)
ENGINE = ReplicatedMergeTree('/clickhouse/tables/test/', '{replica}')
ORDER BY n PARTITION BY n % 10;
INSERT INTO test SELECT * FROM numbers(1000);
-- zookeeper_delete_path("/clickhouse/tables/test", recursive=True) <- perda da raiz.
SYSTEM RESTART REPLICA test;
SYSTEM RESTORE REPLICA test;Outra forma:
SYSTEM RESTORE REPLICA test ON CLUSTER cluster;SYSTEM RESTART REPLICAS
Permite reinicializar o estado das sessões do Zookeeper para todas as tabelas ReplicatedMergeTree, comparando o estado atual com o Zookeeper como fonte da verdade e adicionando tarefas à fila do Zookeeper, se necessário
SYSTEM CLEAR|DROP FILESYSTEM CACHE
Permite limpar o cache do sistema de arquivos.
SYSTEM CLEAR FILESYSTEM CACHE [ON CLUSTER cluster_name]SYSTEM SYNC FILE CACHE
Executa a syscall sync.
SYSTEM SYNC FILE CACHE [ON CLUSTER cluster_name]SYSTEM LOAD PRIMARY KEY
Carrega as chaves primárias para a tabela especificada ou para todas as tabelas.
SYSTEM LOAD PRIMARY KEY [db.]nameSYSTEM LOAD PRIMARY KEYSYSTEM UNLOAD PRIMARY KEY
Descarrega as chaves primárias da tabela especificada ou de todas as tabelas.
SYSTEM UNLOAD PRIMARY KEY [db.]nameSYSTEM UNLOAD PRIMARY KEYGerenciando views materializadas atualizáveis
Comandos para controlar tarefas em segundo plano executadas por views materializadas atualizáveis
Fique de olho em system.view_refreshes ao usá-las.
SYSTEM STOP [REPLICATED] VIEW, STOP VIEWS
Desativa a atualização periódica da view especificada ou de todas as views atualizáveis. Se houver uma atualização em andamento, ela também será cancelada.
Se a view estiver em um banco de dados Replicated ou Shared, STOP VIEW afeta apenas a réplica atual, enquanto STOP REPLICATED VIEW afeta todas as réplicas.
SYSTEM STOP VIEW [db.]nameSYSTEM STOP VIEWSSYSTEM START [REPLICATED] VIEW, START VIEWS
Ativa a atualização periódica da view especificada ou de todas as views atualizáveis. Nenhuma atualização imediata é disparada.
Se a view estiver em um banco de dados Replicated ou Shared, START VIEW desfaz o efeito de STOP VIEW, e START REPLICATED VIEW desfaz o efeito de STOP REPLICATED VIEW. START VIEW também desfaz o efeito de PAUSE VIEW.
SYSTEM START VIEW [db.]nameSYSTEM START VIEWSSYSTEM PAUSE VIEW, PAUSE VIEWS
Desativa a atualização periódica da view especificada ou de todas as views atualizáveis.
Ao contrário de SYSTEM STOP VIEW, SYSTEM PAUSE VIEW não interrompe uma atualização que já esteja em andamento: a atualização em execução pode terminar, e apenas as atualizações subsequentes são impedidas.
Reative com SYSTEM START VIEW ou SYSTEM START VIEWS.
SYSTEM PAUSE VIEW [db.]nameSYSTEM PAUSE VIEWSSYSTEM REFRESH VIEW
Executa uma atualização imediata, fora do agendamento, de uma determinada view.
SYSTEM REFRESH VIEW [db.]nameSYSTEM WAIT VIEW
Espera a atualização em execução ser concluída. Se nenhuma atualização estiver em execução, retorna imediatamente. Se a tentativa de atualização mais recente tiver falhado, retorna um erro.
Pode ser usado logo após criar uma nova view materializada atualizável (sem a palavra-chave EMPTY) para aguardar a conclusão da atualização inicial.
Se a view estiver em um banco de dados Replicated ou Shared, e a atualização estiver em execução em outra réplica, aguarda a conclusão dessa atualização.
SYSTEM WAIT VIEW [db.]nameSYSTEM CANCEL VIEW
Se houver uma atualização em andamento para a view especificada na réplica atual, interrompa-o e cancele-o. Caso contrário, não faça nada.
SYSTEM CANCEL VIEW [db.]nameGerenciamento de atividades em segundo plano
Comandos independentes de mecanismo para controlar a atividade em segundo plano de uma única tabela ou de todas essas tabelas no servidor de uma só vez. Eles abrangem:
- Views materializadas atualizáveis (a atualização periódica); e
- os motores de tabela de streaming que consomem continuamente de uma fonte externa: Kafka, RabbitMQ, NATS, S3Queue e AzureQueue.
Para uma view materializada atualizável, cada verbo é um alias do comando SYSTEM ... VIEW correspondente em Gerenciamento de views materializadas atualizáveis. Portanto, SYSTEM STOP [db.]name se comporta exatamente como SYSTEM STOP VIEW [db.]name, e assim por diante.
As formas por tabela e com curinga diferem na forma como tratam tabelas sem atividade em segundo plano. A forma por tabela (SYSTEM STOP [db.]table) gera um erro se a tabela especificada não for nem um mecanismo de streaming nem uma view materializada atualizável. A forma com curinga ignora essas tabelas silenciosamente, portanto, é sempre seguro executá-la.
STOP e CANCEL interrompem o consumo assim que possível. Para Kafka, RabbitMQ e NATS, eles interrompem a leitura da fonte, mas não interrompem um insert que já tenha sido iniciado: um bloco que já está sendo gravado nas views materializadas ainda é concluído e confirmado. S3Queue e AzureQueue leem e inserem dados em um único pipeline. Com a desduplicação ativada (padrão), o insert também é cancelado, e os arquivos são reprocessados posteriormente. Com a desduplicação desativada, o Batch em andamento é concluído e confirmado (como nos motores acima) para evitar a duplicação de linhas. Os dados que foram lidos, mas ainda não confirmados, são consumidos novamente mais tarde; portanto, nada é perdido, exceto no NATS básico (sem JetStream), que não pode reenviá-los e os descarta.
PAUSE não interrompe um insert em execução e, portanto, normalmente não causa perda de dados. O NATS básico é a exceção: pausar interrompe o consumo e descarta as mensagens que já havia recebido, mas ainda não inserido, e o NATS básico não pode reenviá-las.
SYSTEM STOP
Interrompe a atividade em segundo plano e a mantém interrompida: interrompe o que está em execução e impede novas execuções até SYSTEM START. Equivale a PAUSE + CANCEL.
SYSTEM STOP [db.]table
SYSTEM STOP ALL BACKGROUNDSYSTEM START
Retoma a atividade, revertendo um SYSTEM STOP ou SYSTEM PAUSE anterior. Nenhuma atividade é interrompida.
SYSTEM START [db.]table
SYSTEM START ALL BACKGROUNDSYSTEM PAUSE
Impede novas atividades em segundo plano, mas permite que o que estiver em execução no momento seja concluído primeiro.
SYSTEM PAUSE [db.]table
SYSTEM PAUSE ALL BACKGROUNDSYSTEM CANCEL
Interrompe apenas a atividade em execução, sem bloquear atividades futuras — a tabela continua sendo atualizada ou consumindo dados conforme o agendamento. Não faz nada se não houver atividade em andamento.
SYSTEM CANCEL [db.]table
SYSTEM CANCEL ALL BACKGROUNDSYSTEM REFRESH
Execute um ciclo extra fora do agendamento. Em uma tabela de streaming, ele é executado imediatamente, uma única vez, mesmo que a tabela esteja interrompida ou pausada. Em uma view materializada atualizável, ele se comporta como SYSTEM REFRESH VIEW: se a view estiver interrompida, a atualização é registrada e executada uma vez quando SYSTEM START a liberar.
SYSTEM REFRESH [db.]table
SYSTEM REFRESH ALL BACKGROUNDPrivilégios
Cada comando exige o privilégio do mecanismo correspondente: SYSTEM VIEWS para uma view materializada atualizável e SYSTEM STREAMING ENGINES para uma tabela de streaming. Ambos são subordinados a SYSTEM BACKGROUND; portanto, conceder SYSTEM BACKGROUND permite controlar a atividade em segundo plano de todas essas tabelas. As formas ALL BACKGROUND se aplicam apenas às tabelas que o usuário tem permissão para controlar e ignoram silenciosamente as demais.
SYSTEM FLUSH OBJECT STORAGE QUEUE
Bloqueia até que o arquivo especificado seja processado ou falhe permanentemente pela tabela S3Queue ou AzureQueue informada. Retorna imediatamente se o arquivo já tiver sido processado. Gera um erro se o arquivo tiver falhado permanentemente (todas as tentativas esgotadas).
SYSTEM FLUSH OBJECT STORAGE QUEUE [db.]table_name PATH 'path'