メインコンテンツへスキップ
ディレクトリを再帰的に走査し、ファイルのメタデータ (パス、サイズ、種別、権限、最終更新時刻) と、必要に応じてファイルの内容を含むテーブルを返します。 clickhouse-server モードでは、パスは user_files_path ディレクトリ内になければなりません。user_files_path 内にあるものの、その外部を指すシンボリックリンクはたどられますが、返されるのは (シンボリックリンク経由の) パスが user_files_path で始まるエントリのみです。 clickhouse-local モードでは、パスに制限はありません。

構文

filesystem([path])

引数

パラメータ説明
path一覧表示するディレクトリです。絶対パス (サーバーモードでは user_files_path 内にある必要があります) または user_files_path からの相対パスを指定できます。空欄または省略した場合は、デフォルトで user_files_path が使用されます。

返されるカラム

カラム説明
pathStringエントリが含まれるディレクトリ (ファイル名またはディレクトリ名自体は含みません) 。
nameStringファイルまたはディレクトリの名前 (パスの最後の要素) 。
fileString (ALIAS of name)name カラムの別名。
typeEnum8ファイル種別: 'none', 'not_found', 'regular', 'directory', 'symlink', 'block', 'character', 'fifo', 'socket', 'unknown'
sizeNullable(UInt64)ファイルサイズ (通常ファイルの場合、バイト単位) 。通常ファイル以外 (ディレクトリ、シンボリックリンクなど) およびエラー時は NULL
depthUInt16再帰の深さ。クエリ対象のディレクトリ自体とその直下の子は 0、1 階層深いエントリは 1、以降も同様です。
modification_timeNullable(DateTime64(6))最終更新時刻 (マイクロ秒精度) 。エラー時は NULL
is_symlinkBoolそのエントリがシンボリックリンクかどうか。
contentNullable(String)ファイルの内容 (通常ファイルの場合) 。通常ファイル以外 (ディレクトリ、シンボリックリンクなど) では NULL。読み取りエラー時は例外が発生します。このカラムを読み取ると実際のファイル I/O がトリガーされるため、不要であれば省略してください。
owner_readBool所有者に読み取り権限があるかどうか。
owner_writeBool所有者に書き込み権限があるかどうか。
owner_execBool所有者に実行権限があるかどうか。
group_readBoolグループに読み取り権限があるかどうか。
group_writeBoolグループに書き込み権限があるかどうか。
group_execBoolグループに実行権限があるかどうか。
others_readBoolその他のユーザーに読み取り権限があるかどうか。
others_writeBoolその他のユーザーに書き込み権限があるかどうか。
others_execBoolその他のユーザーに実行権限があるかどうか。
set_gidBoolSet-GID ビット。
set_uidBoolSet-UID ビット。
sticky_bitBoolスティッキービット。
クエリで実際に使用されるカラムだけが計算されるため、一部のカラムだけを選択するのは効率的です (特に content を省略する場合) 。

user_files 内のファイルを一覧表示

SELECT name, type, size, depth
FROM filesystem()
ORDER BY name;

大きなファイルを探す

SELECT path, name, size
FROM filesystem()
WHERE type = 'regular' AND size > 1000000
ORDER BY size DESC;

ファイルの内容を読む

SELECT name, content
FROM filesystem('my_directory')
WHERE name LIKE '%.csv';

直下の子のみを一覧表示する

SELECT name, type
FROM filesystem('my_directory')
WHERE depth = 0;
最終更新日 2026年6月10日