Saltar al contenido principal
Crea una cuota que se puede asignar a un usuario o a un rol. Sintaxis:
CREATE QUOTA [IF NOT EXISTS | OR REPLACE] name [ON CLUSTER cluster_name]
    [IN access_storage_type]
    [KEYED BY {user_name | ip_address | client_key | client_key,user_name | client_key,ip_address | normalized_query_hash} | NOT KEYED]
    [FOR [RANDOMIZED] INTERVAL number {second | minute | hour | day | week | month | quarter | year}
        {MAX { {queries | query_selects | query_inserts | errors | result_rows | result_bytes | read_rows | read_bytes | written_bytes | execution_time | failed_sequential_authentications | queries_per_normalized_hash} = number } [,...] |
         NO LIMITS | TRACKING ONLY} [,...]]
    [TO {role [,...] | ALL | ALL EXCEPT role [,...]}]
Las claves user_name, ip_address, client_key, client_key, user_name, client_key, ip_address y normalized_query_hash se corresponden con los campos de la tabla system.quotas. Los parámetros queries, query_selects, query_inserts, errors, result_rows, result_bytes, read_rows, read_bytes, written_bytes, execution_time, failed_sequential_authentications, queries_per_normalized_hash se corresponden con los campos de la tabla system.quotas_usage. La cláusula ON CLUSTER permite crear cuotas en un clúster; consulte Distributed DDL. Ejemplos Limite el número máximo de consultas del usuario actual a 123 consultas en un período de 15 meses:
CREATE QUOTA qA FOR INTERVAL 15 month MAX queries = 123 TO CURRENT_USER;
Para el usuario predeterminado, limite el tiempo máximo de ejecución a medio segundo en un período de 30 minutos, y limite el número máximo de consultas a 321 y el número máximo de errores a 10 en 5 trimestres:
CREATE QUOTA qB FOR INTERVAL 30 minute MAX execution_time = 0.5, FOR INTERVAL 5 quarter MAX queries = 321, errors = 10 TO default;
Cree una QUOTA en la que cada patrón de consulta normalizado distinto tenga su propio bucket, con un límite de 100 ejecuciones por hora:
CREATE QUOTA qC KEYED BY normalized_query_hash FOR INTERVAL 1 hour MAX queries = 100 TO default;
Limite cada patrón de consulta normalizado a un máximo de 50 ejecuciones por hora (independientemente del tipo de clave de QUOTA):
CREATE QUOTA qD FOR INTERVAL 1 hour MAX queries_per_normalized_hash = 50 TO default;
Puedes encontrar más ejemplos con la configuración XML (no compatible con ClickHouse Cloud) en la guía de cuotas.
Última modificación el 10 de junio de 2026