SHOW DBT PROJECTS
SHOW DBT PROJECTS
SHOW DBT PROJECTS 명령은 접근 권한(privilege)이 있는 dbt 프로젝트 객체 목록을 보여주는 명령이에요. Snowflake에서 관리하는 dbt 프로젝트 객체들을 확인할 때 사용해요.
출처: 문서
본문
이 명령은 접근 권한이 있는 dbt 프로젝트 객체를 나열해요. 세션의 현재 데이터베이스·스키마, 지정한 데이터베이스·스키마, 또는 전체 계정의 객체를 나열할 수 있어요. 각 객체의 메타데이터와 속성이 출력에 포함되며, 객체는 데이터베이스, 스키마, 객체 이름 기준 사전 순으로 정렬돼요.
참고: 이 페이지에 설명된 일부 기능은 변경 가능한(mutable) live 버전을 사용하는 dbt 프로젝트 객체가 필요해요. live 버전 객체를 얻으려면 2026_06 동작 변경 번들에 옵트인하거나, Snowflake 계정 담당자에게 별도의 단일 live 버전 기능을 활성화하도록 요청한 뒤 객체를 만들거나 교체하거나 기존 버전화 객체를 SYSTEM$MIGRATE_DBT_PROJECT으로 마이그레이션해요.
관련 명령: CREATE DBT PROJECT, ALTER DBT PROJECT, EXECUTE DBT PROJECT, DROP DBT PROJECT, SHOW DBT PROJECTS.
구문 (Syntax)
SHOW DBT PROJECTS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
파라미터 (Parameters)
-
LIKE
<pattern>— 명령 출력을 객체 이름으로 필터링해요. 대소문자를 구분하지 않는 패턴 매칭이며 SQL 와일드카드 문자(%와_)를 지원해요. 기본값: 없음. -
[ IN ... ] — 명령의 범위를 선택적으로 지정해요:
ACCOUNT— 전체 계정의 레코드 반환.DATABASE또는DATABASE db_name— 현재 또는 지정한 데이터베이스의 레코드 반환. 데이터베이스가 사용 중이 아닌데db_name없이 지정하면 키워드가 출력에 영향을 주지 않아요.SCHEMA또는SCHEMA schema_name— 현재 또는 지정한 스키마의 레코드 반환.IN ...을 생략하면 범위는 세션의 현재 데이터베이스 유무에 따라 달라져요: 있으면IN DATABASE와 같은 효과, 없으면IN ACCOUNT와 같은 효과.
-
STARTS WITH
<name_string>— 객체 이름의 시작 문자를 기준으로 출력을 필터링해요. 문자열은 작은따옴표로 묶어야 하며 대소문자를 구분해요. -
LIMIT
<rows>— 반환되는 최대 행 수를 제한해요. -
LIMIT
<rows>[ FROM<name_string>] — 최대 행 수를 제한하면서 결과의 "페이지네이션"을 가능하게 해요.FROM '<name_string>'하위 절은 결과의 "커서" 역할을 해요. 문자열은 작은따옴표로 묶어야 하며 대소문자를 구분하고, 부분 이름이 지원돼요.참고:
STARTS WITH와FROM절을 모두 지원하는 SHOW 명령에서는 두 절을 같은 문장에서 결합할 수 있어요. 다만 두 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 결과가 반환되지 않아요. 객체는 이름 기준 사전 순으로 반환됩니다.
접근 제어 요구 사항 (Access control requirements)
이 SQL 명령을 실행하는 역할은 최소한 다음 권한 중 하나를 가져야 해요:
| 권한 (Privilege) | 객체 (Object) |
|---|---|
| USAGE | dbt 프로젝트 |
| MONITOR | dbt 프로젝트 |
스키마의 객체를 조작하려면 상위 데이터베이스에 최소 하나, 상위 스키마에 최소 하나의 권한이 필요해요.
출력 (Output)
명령 출력은 객체의 속성과 메타데이터를 설명하는 다음 컬럼을 포함해요:
- name — dbt 프로젝트 객체의 식별자.
- database_name — dbt 프로젝트 객체가 정의된 데이터베이스 이름.
- schema_name — dbt 프로젝트 객체가 정의된 스키마 이름.
- created_on — dbt 프로젝트 객체가 생성된 날짜·시간.
- updated_on — dbt 프로젝트 객체가 마지막으로 갱신된 날짜·시간.
- owner — dbt 프로젝트 객체를 소유한 역할 이름.
- comment — dbt 프로젝트 객체와 연결된 주석.
- dbt_version — dbt 프로젝트 객체의 dbt 버전. 값을 지정하지 않으면 기본적으로 1.9.4가 사용돼요.
- dbt_snowflake_version — dbt 프로젝트 객체가 사용 중인 Snowflake 버전.
- default_target — Snowflake를 통해 실행되는 dbt 명령이 사용하는 기본 실행 대상(예:
prod,dev). - default_environment — dbt 프로젝트 객체에 설정된
DEFAULT_ENVIRONMENT속성. 속성이 설정되지 않았으면NULL을 반환해요. 이 컬럼은env.yml의default_environment:값을 표시하지 않아요. 속성은 CREATE DBT PROJECT 또는 ALTER DBT PROJECT로 설정해요. - default_writeback — 실행이 생성된 target·log 파일을 기본적으로 live 버전에 다시 쓰는지 여부.
- auto_compile — 배포 후 Snowflake가 프로젝트를 컴파일하는지 여부.
- external_access_integrations — dbt 프로젝트 객체가 dbt package hub 또는 GitHub에서 원격 의존성을 가져오는 데 사용할 수 있는 외부 접근 통합 이름.
- last_deployed_from — 가장 최근 배포의 출처를 설명하는 OBJECT. 출처에 따라
stage_url,git_commit,git_branch,user,timestamp필드를 포함할 수 있어요. 배포 메타데이터가 기록되지 않았으면NULL을 반환해요.
버전 관련 컬럼은 다음 값을 가져요:
- default_version —
LIVE, 즉 dbt 프로젝트 객체의 유일한 변경 가능한 버전을 반환해요. - default_version_name — 더 이상 사용되지 않는 컬럼. dbt 프로젝트 객체에는 번호가 매겨진 버전이 없으므로
NULL을 반환해요. - default_version_alias — 더 이상 사용되지 않는 컬럼. dbt 프로젝트 객체에는 버전 별칭이 없으므로
NULL을 반환해요. - default_version_location_uri — live 버전의 위치 URI.
.../versions/live/경로를 사용해요. - default_version_source_location_uri — live 버전의 소스 파일이 Git 객체에 있는 위치 URI. dbt 프로젝트 객체가 Git 객체에 연결되지 않았으면 null이에요.
사용 참고 사항 (Usage notes)
- 실행에 실행 중인 웨어하우스를 요구하지 않아요.
- 현재 역할에 하나 이상의 접근 권한이 부여된 객체만 반환해요.
MANAGE GRANTS권한은 보유자가 계정의 모든 객체를 볼 수 있게 해줘요. 기본적으로 ACCOUNTADMIN과 SECURITYADMIN 역할만 이 권한을 가져요.- 출력을 후처리하려면 파이프 연산자(
|>) 또는RESULT_SCAN함수를 사용할 수 있어요. 출력 컬럼을 참조할 때는 컬럼 이름을 큰따옴표로 감싸서 사용해요. - 명령은 역할의 접근 권한에 따라 최대 1만 개의 레코드를 반환해요. 1만 개가 넘는 결과는 필터를 적용해도 반환되지 않아요.
LIMIT rows의 값은10000을 초과할 수 없어요.LIMIT rows를 생략하면 결과 집합이 1만 행보다 크면 오류가 발생해요.
예제 (Examples)
my_db 데이터베이스에서 볼 권한이 있는 dbt 프로젝트 객체를 나열해요:
SHOW DBT PROJECTS IN DATABASE my_db;
더 알아보기 (Learn more)
- CREATE DBT PROJECT — dbt 프로젝트 객체 만들기
- ALTER DBT PROJECT — dbt 프로젝트 객체 수정
- EXECUTE DBT PROJECT — dbt 프로젝트 실행
- DROP DBT PROJECT — dbt 프로젝트 객체 삭제