system.processes 시스템 테이블

system.processes 시스템 테이블

system.processesSHOW PROCESSLIST 쿼리를 구현하는 데 사용되는 시스템 테이블이에요.

출처: 문서

본문

ClickHouse Cloud에서의 조회 — 이 시스템 테이블의 데이터는 ClickHouse Cloud에서 각 노드에 로컬로 저장돼요. 따라서 모든 데이터의 완전한 뷰를 얻으려면 clusterAllReplicas 함수가 필요해요. 자세한 내용은 여기 를 참고하세요.

Description

이 시스템 테이블은 SHOW PROCESSLIST 쿼리를 구현하는 데 사용돼요.

Columns

  • is_initial_query (UInt8) — 쿼리가 초기 쿼리인지 여부예요. 가능한 값: 1 — 초기(최상위) 쿼리, 0 — 다른 쿼리에 의해 시작된 자식 쿼리(분산 실행을 위한 쿼리와 내부 하위 쿼리 포함).

  • user (String) — 쿼리를 만든 사용자예요. 분산 처리의 경우 쿼리가 기본 사용자로 원격 서버에 전송된다는 점을 기억하세요. 이 필드는 특정 쿼리의 사용자 이름을 담으며, 이 쿼리가 시작한 쿼리의 사용자 이름은 담지 않아요.

  • query_id (String) — 정의된 경우 쿼리 ID예요.

  • address (IPv6) — 쿼리가 만들어진 IP 주소예요. 분산 처리에서도 동일해요. 분산 쿼리가 원래 어디서 만들어졌는지 추적하려면 쿼리 요청 서버의 system.processes 를 살펴보세요.

  • port (UInt16) — 쿼리가 만들어진 클라이언트 포트예요.

  • initial_user (String) — 동일한 쿼리 체인에서 초기 쿼리를 실행한 사용자의 이름이에요.

  • initial_query_id (String) — 동일한 쿼리 체인에서 초기 쿼리의 ID예요.

  • initial_address (IPv6) — 동일한 쿼리 체인에서 초기 쿼리가 시작된 IP 주소예요.

  • initial_port (UInt16) — 동일한 쿼리 체인에서 초기 쿼리가 시작된 클라이언트 포트예요.

  • interface (Enum8(‘Unknown’ = 0, ‘TCP’ = 1, ‘HTTP’ = 2, ‘gRPC’ = 3, ‘MySQL’ = 4, ‘PostgreSQL’ = 5, ‘Local’ = 6, ‘TCP_Interserver’ = 7, ‘Prometheus’ = 8, ‘Background’ = 9, ‘ArrowFlight’ = 10)) — 클라이언트가 보고한 대로 쿼리를 보내는 데 사용된 인터페이스예요. 보고된 인터페이스가 이 서버가 인식하는 것이 아니면 Unknown 이에요.

  • os_user (String) — clickhouse-client를 실행하는 운영체제 사용자 이름이에요.

  • client_hostname (String) — clickhouse-client 또는 다른 TCP 클라이언트가 실행되는 클라이언트 머신의 호스트 이름이에요.

  • client_name (String) — clickhouse-client 또는 다른 TCP 클라이언트 이름이에요.

  • client_agent (LowCardinality(String)) — 클라이언트를 호출한 AI 코딩 에이전트(예: claude-code, cursor)로, 환경 변수에서 감지돼요. 에이전트가 감지되지 않으면 비어 있어요.

  • client_revision (UInt64) — clickhouse-client 또는 다른 TCP 클라이언트의 리비전이에요.

  • client_version_major (UInt64) — clickhouse-client 또는 다른 TCP 클라이언트의 메이저 버전이에요.

  • client_version_minor (UInt64) — clickhouse-client 또는 다른 TCP 클라이언트의 마이너 버전이에요.

  • client_version_patch (UInt64) — clickhouse-client 또는 다른 TCP 클라이언트 버전의 패치 구성 요소예요.

  • http_method (Enum8(‘UNKNOWN’ = 0, ‘GET’ = 1, ‘POST’ = 2, ‘OPTIONS’ = 3, ‘PUT’ = 4, ‘DELETE’ = 5, ‘HEAD’ = 6)) — 쿼리를 시작한 HTTP 메서드예요. 쿼리가 HTTP로 도착하지 않았거나 보고된 메서드가 이 서버가 인식하는 것이 아니면 UNKNOWN 이에요.

  • http_user_agent (String) — HTTP 쿼리에서 전달된 HTTP 헤더 UserAgent예요.

  • http_referer (String) — HTTP 쿼리에서 전달된 HTTP 헤더 Referer예요(쿼리를 만드는 페이지의 절대 또는 부분 주소 포함).

  • forwarded_for (String) — HTTP 쿼리에서 전달된 HTTP 헤더 X-Forwarded-For예요.

  • quota_key (String) — quotas 설정에 지정된 쿼터 키예요(keyed 참고).

  • distributed_depth (UInt64) — 쿼리가 서버 노드 간에 내부적으로 재전송된 횟수예요.

  • elapsed (Float64) — 요청 실행이 시작된 이후의 시간(초)이에요.

  • is_cancelled (UInt8) — 쿼리가 취소되었는지 여부예요.

  • is_all_data_sent (UInt8) — 모든 데이터가 클라이언트로 전송되었는지(즉 쿼리가 서버에서 완료되었는지) 여부예요.

  • read_rows (UInt64) — 테이블에서 읽은 행 수예요. 분산 처리의 경우 요청자 서버에서는 모든 원격 서버의 합계예요.

  • read_bytes (UInt64) — 테이블에서 읽은 압축되지 않은 바이트 수예요. 분산 처리의 경우 요청자 서버에서는 모든 원격 서버의 합계예요.

  • total_rows_approx (UInt64) — 읽어야 할 총 행 수의 근사값이에요. 분산 처리의 경우 요청자 서버에서는 모든 원격 서버의 합계예요. 처리할 새 소스가 알려지면 요청 처리 중에 업데이트될 수 있어요.

  • written_rows (UInt64) — 저장소에 쓴 행 수예요.

  • written_bytes (UInt64) — 저장소에 쓴 바이트 수예요.

  • memory_usage (Int64) — 쿼리가 사용하는 RAM 양이에요. 일부 유형의 전용 메모리를 포함하지 않을 수 있어요.

  • peak_memory_usage (Int64) — 현재 메모리 사용량 최고치예요.

  • query (String) — 쿼리 텍스트예요. INSERT의 경우 삽입할 데이터는 포함하지 않아요.

  • normalized_query_hash (UInt64) — 리터럴 값만 다른 쿼리에는 동일한 숫자 해시 값이에요.

  • query_kind (String) — 쿼리 유형이에요 — SELECT, INSERT 등.

  • thread_ids (Array(UInt64)) — 이 쿼리에 참여한 모든 스레드의 식별자 목록이에요.

  • peak_threads_usage (UInt64) — 쿼리를 실행하는 동시 스레드의 최대 수예요.

  • ProfileEvents (Map(LowCardinality(String), UInt64)) — 이 쿼리에 대해 계산된 ProfileEvents예요.

  • Settings (Map(LowCardinality(String), LowCardinality(String))) — 수정된 사용자 수준 설정 목록이에요.

  • current_database (String) — 현재 데이터베이스의 이름이에요.

  • is_internal (UInt8) — 내부적으로 실행되는 보조 쿼리인지 여부를 나타내요.

별칭(Aliases):

  • ProfileEvents.NamesmapKeys(ProfileEvents) 의 별칭이에요.

  • ProfileEvents.ValuesmapValues(ProfileEvents) 의 별칭이에요.

  • Settings.NamesmapKeys(Settings) 의 별칭이에요.

  • Settings.ValuesmapValues(Settings) 의 별칭이에요.

Examples

SELECT * FROM system.processes LIMIT 10 FORMAT Vertical;
Row 1:
──────
is_initial_query:     1
user:                 default
query_id:             35a360fa-3743-441d-8e1f-228c938268da
address:              ::ffff:172.23.0.1
port:                 47588
initial_user:         default
initial_query_id:     35a360fa-3743-441d-8e1f-228c938268da
initial_address:      ::ffff:172.23.0.1
initial_port:         47588
interface:            TCP
os_user:              bharatnc
client_hostname:      tower
client_name:          ClickHouse
client_revision:      54437
client_version_major: 20
client_version_minor: 7
client_version_patch: 2
http_method:          UNKNOWN
http_user_agent:
quota_key:
elapsed:              0.000582537
is_cancelled:         0
is_all_data_sent:     0
read_rows:            0
read_bytes:           0
total_rows_approx:    0
written_rows:         0
written_bytes:        0
memory_usage:         0
peak_memory_usage:    0
query:                SELECT * from system.processes LIMIT 10 FORMAT Vertical;
thread_ids:           [67]
ProfileEvents:        {'Query':1,'SelectQuery':1,'ReadCompressedBytes':36,'CompressedReadBufferBlocks':1,'CompressedReadBufferBytes':10,'IOBufferAllocs':1,'IOBufferAllocBytes':89,'ContextLock':15,'RWLockAcquiredReadLocks':1}
Settings:             {'background_pool_size':'32','load_balancing':'random','allow_suspicious_low_cardinality_types':'1','distributed_aggregation_memory_efficient':'1','skip_unavailable_shards':'1','log_queries':'1','max_bytes_before_external_group_by':'20000000000','max_bytes_before_external_sort':'20000000000','allow_introspection_functions':'1'}

1 rows in set. Elapsed: 0.002 sec.