url_* 세션 설정

url_* 세션 설정

이 페이지에서는 URL 해석과 관련된 url_* 세션 설정들을 다뤄요. url 테이블 함수와 URL 테이블 엔진에서 상대 URL을 해석하는 기준 URL과 와일드카드 확장 시 탐색할 최대 디렉터리 수를 설정해요. 이 설정들은 system.settings 테이블에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성돼요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있으며 소스에서 자동 생성돼요.

url_base

url 테이블 함수와 URL 테이블 엔진에서 상대 URL을 해석하는 데 사용되는 기준 URL이에요. 설정되면 상대 URL은 다음과 같이 해석돼요:

  • 경로 상대 URL(예: data.csv): RFC 3986에 따라 기준 URL 경로와 병합돼요. 기준 경로에서 마지막 / 이후의 모든 것이 상대 URL로 대체되므로 끝 슬래시가 중요해요: https://example.com/dir/ + data.csv = https://example.com/dir/data.csv이지만, https://example.com/dir + data.csv = https://example.com/data.csv이에요. 기준에 경로가 없으면(예: https://example.com) /가 삽입돼요: https://example.com/data.csv. 상대 URL의 점 세그먼트(./../)는 정규화돼요: https://example.com/dir/ + ../a.csv = https://example.com/a.csv.

  • 호스트 상대 URL(예: /test/data.csv): 기준 URL의 스킴과 호스트에 대해 해석돼요.

  • 스킴 상대 URL(예: //other.com/test/data.csv): 기준 URL의 스킴을 사용해 해석돼요.

  • 쿼리 전용 참조(예: ?x=1): 기준 URL 경로에 추가돼요(기존 쿼리/프래그먼트 대체).

  • 프래그먼트 전용 참조(예: #frag): 기준 URL에 추가되며 쿼리 문자열을 보존해요(기존 프래그먼트 대체).

  • 빈 참조: 프래그먼트 없는 기준 URL을 반환해요.

  • 기준 URL이 스킴뿐이라면(예: file://) 경로 상대 URL이 그것에 직접 추가돼요: file:// + data.csv = file://data.csv. file:// 스킴의 경우 이는 user_files 디렉터리(clickhouse-local에서는 현재 디렉터리)에 대한 상대 경로를 의미해요. 이 경우 점 세그먼트는 그대로 유지되므로, 대상 엔진이 자신의 기준 디렉터리를 기준으로 해석해요.

예를 들어 url_basehttps://example.com/def/이면:

  • data.csvhttps://example.com/def/data.csv로 해석돼요.

  • /test/data.csvhttps://example.com/test/data.csv로 해석돼요.

  • //other.com/test/data.csvhttps://other.com/test/data.csv로 해석돼요.

url_wildcard_max_directories_to_read

인덱스 페이지에서 URL 와일드카드를 확장하는 동안 탐색할 수 있는 최대 디렉터리 수예요.

더 알아보기 (Learn more)