TABLES 뷰

이 Information Schema 뷰는 INFORMATION_SCHEMA 스키마 자체의 뷰 등 지정된(또는 현재) 데이터베이스의 각 테이블 및 뷰에 대한 행을 표시합니다.

참고 항목:

COLUMNS 뷰 , VIEWS 뷰 , TABLES 뷰 (Account Usage)

열 이름

데이터 타입

설명

TABLE_CATALOG

TEXT

테이블이 속한 데이터베이스입니다.

TABLE_SCHEMA

TEXT

테이블이 속한 스키마입니다.

TABLE_NAME

TEXT

테이블의 이름입니다.

TABLE_OWNER

TEXT

테이블을 소유한 역할의 이름입니다.

TABLE_TYPE

TEXT

테이블 유형을 나타냅니다. 유효한 값은 BASE TABLE, TEMPORARY TABLE, EXTERNAL TABLE, EVENT TABLE, VIEW 또는 MATERIALIZED VIEW 입니다.

IS_TRANSIENT

TEXT

일시적 테이블인지 여부를 나타냅니다.

CLUSTERING_KEY

TEXT

테이블의 클러스터링 키입니다.

ROW_COUNT

NUMBER

테이블의 행 수입니다.

BYTES

NUMBER

테이블 검색에서 액세스한 바이트 수입니다.

RETENTION_TIME

NUMBER

Time Travel을 위해 과거 데이터가 유지되는 일수입니다.

SELF_REFERENCING_COLUMN_NAME

TEXT

Snowflake에는 적용되지 않습니다.

REFERENCE_GENERATION

TEXT

Snowflake에는 적용되지 않습니다.

USER_DEFINED_TYPE_CATALOG

TEXT

Snowflake에는 적용되지 않습니다.

USER_DEFINED_TYPE_SCHEMA

TEXT

Snowflake에는 적용되지 않습니다.

USER_DEFINED_TYPE_NAME

TEXT

Snowflake에는 적용되지 않습니다.

IS_INSERTABLE_INTO

TEXT

Snowflake에는 적용되지 않습니다.

IS_TYPED

TEXT

Snowflake에는 적용되지 않습니다.

COMMIT_ACTION

TEXT

Snowflake에는 적용되지 않습니다.

CREATED

TIMESTAMP_LTZ

테이블 생성 시간입니다.

LAST_ALTERED

TIMESTAMP_LTZ

DML, DDL 또는 백그라운드 메타데이터 작업으로 오브젝트가 마지막으로 변경된 날짜 및 시간입니다. 사용법 노트 를 참조하십시오.

LAST_DDL

TIMESTAMP_LTZ

테이블 또는 뷰에서 수행된 마지막 DDL 작업의 타임스탬프입니다.

지원되는 모든 테이블/뷰 DDL 작업은 다음 필드를 업데이트합니다.

  • { CREATE | ALTER | DROP | UNDROP } TABLE

  • { CREATE | ALTER | DROP } VIEW

모든 ALTER TABLE 작업은 테이블 매개 변수(예: COMMENT, DATA_RETENTION_TIME 등) 설정 또는 설정 해제, 테이블 열 변경(ADD / MODIFY / RENAME / DROP) 등을 포함하여 이 필드를 업데이트합니다.

자세한 내용은 사용법 노트 를 참조하십시오.

LAST_DDL_BY

TEXT

마지막 DDL 작업을 실행한 사용자의 현재 사용자 이름입니다. 사용자가 삭제된 경우 DROPPED_USER(<id>) 가 표시됩니다.

삭제된 사용자의 경우 <id>USERS 뷰 의 USER_ID 열과 조인할 수 있습니다.

AUTO_CLUSTERING_ON

BOOLEAN

테이블에 대해 자동 클러스터링이 활성화되었는지 여부를 나타냅니다.

COMMENT

TEXT

이 테이블에 대한 설명입니다.

IS_TEMPORARY

TEXT

임시 테이블인지 여부를 나타냅니다. 유효한 값은 YESNO 입니다.

IS_ICEBERG

TEXT

테이블이 Iceberg 테이블 인지 여부를 나타냅니다. 유효한 값은 YES 또는 NO 입니다.

IS_DYNAMIC

TEXT

테이블이 동적 테이블 인지 여부를 나타냅니다. 유효한 값은 YES 또는 NO 입니다.

IS_IMMUTABLE

TEXT

테이블이 READ ONLY 속성으로 생성되었는지 여부를 나타냅니다. 유효한 값은 YES 또는 NO 입니다.

사용법 노트

  • 뷰에는 세션의 현재 역할에 액세스 권한이 부여된 오브젝트만 표시됩니다. 뷰는 MANAGE GRANTS 권한을 인식하지 못하므로, MANAGE GRANTS 권한이 부여된 역할로 둘 다 실행할 때 SHOW 명령에 비해 정보가 적게 표시될 수 있습니다.

    이 동작은 대응하는 SHOW 명령이 있는 다른 계정 수준 권한 및 Information Schema 뷰에도 적용됩니다.

  • 테이블에 대한 합계(바이트)를 쿼리하는 것은 총 저장소 사용량을 나타내지 않습니다. 양에 Time Travel 및 Fail-safe 사용량이 포함되지 않기 때문입니다.

  • 뷰는 삭제된 테이블을 포함하지 않습니다. 삭제된 테이블을 보려면 대신 SHOW TABLES 를 사용하십시오.

  • 쿼리의 테이블만 보려면 WHERE 절을 사용하여 필터링하십시오.

    ... WHERE table_schema != 'INFORMATION_SCHEMA'

  • Time Travel의 LAST_ALTERED 열에 있는 값은 사용하지 않는 것이 좋으며, 사용할 경우 다음과 같은 이유로 예기치 않은 결과가 반환될 수 있습니다.

    • Time Travel은 DML 작업 으로 수정된 과거 데이터를 쿼리하는 데만 사용할 수 있습니다.

    • LAST_ALTERED 열에는 DML 작업과 DDL 작업이 모두 포함됩니다(다음 사용법 노트 참조).

    • DML 작업의 경우 LAST_ALTERED 열의 값은 이 문이 포함된 트랜잭션의 커밋 시간이 아닌 문 실행 시작 시의 타임스탬프입니다.

  • 오브젝트에 대해 다음 작업이 수행되면 LAST_ALTERED 열이 업데이트됩니다.

    • DDL 작업.

    • DML 작업(테이블에만 해당). DML 문의 영향을 받는 행이 없어도 이 열은 업데이트됩니다.

    • Snowflake에서 수행되는 메타데이터에 대한 백그라운드 유지 관리 작업.

    뷰와 테이블의 경우 오브젝트의 마지막 수정 시간에 대한 LAST_DDL 열을 사용하십시오.

  • LAST_DDL 열의 값은 다음과 같이 업데이트됩니다.

    • 테이블이나 뷰가 생성될 때 LAST_DDL 타임스탬프는 CREATED 타임스탬프와 동일합니다.

    • 테이블이나 뷰가 삭제될 때 LAST_DDL 타임스탬프는 DELETED 타임스탬프와 동일합니다.

    • 열이 추가되기 전에 발생한 작업에는 마지막 DDL 데이터를 사용할 수 없습니다. 새 DDL 필드에는 DDL 작업이 실행될 때까지 null 이 포함됩니다.

    • 복제된 데이터베이스의 경우 LAST_DDL 및 LAST_DDL_BY 필드는 기본 데이터베이스의 오브젝트에 대해서만 업데이트됩니다. 장애 조치 후에는 새로 승격된 기본 데이터베이스의 테이블과 뷰에 대한 DDL 작업을 위해 LAST_DDL 및 LAST_DDL_BY 필드가 업데이트됩니다. 이러한 필드는 현재 보조 데이터베이스의 오브젝트에 대해 변경되지 않은 채로 유지됩니다.

    • 새로 고침 작업 중에 새로 생성된 보조 데이터베이스에 있는 오브젝트의 경우 이러한 필드는 null 입니다.

  • LAST_ALTERED 열이 반드시 외부 테이블의 마지막 새로 고침 시간을 나타내는 것은 아닙니다. 자동으로 새로 고친 외부 테이블의 마지막 새로 고침 시간을 검색하려면 Snowflake가 등록한 마지막 파일의 타임스탬프와 같은 정보를 반환하는 SYSTEM$EXTERNAL_TABLE_PIPE_STATUS 함수를 사용하면 됩니다.

mydatabase 데이터베이스의 모든 스키마에 있는 모든 테이블의 크기(바이트)를 검색합니다.

SELECT table_schema, SUM(bytes)
    FROM mydatabase.INFORMATION_SCHEMA.TABLES
    GROUP BY TABLE_SCHEMA;
Copy