정보 스키마는 모든 Spanner 데이터베이스에 공통된 기본 제공 스키마입니다. INFORMATION_SCHEMA의 테이블에 대해 SQL 쿼리를 실행하여 데이터베이스의 스키마 메타데이터를 가져올 수 있습니다.
예를 들어 다음 쿼리는 데이터베이스의 모든 사용자 정의 테이블 이름을 가져옵니다.
SELECT
table_schema,
table_name
FROM
information_schema.tables
WHERE
table_schema NOT IN ('information_schema', 'SPANNER_SYS')
AND table_type = 'BASE TABLE'
세분화된 액세스 제어 사용자에게 데이터베이스 역할에 따라 일부 INFORMATION_SCHEMA 테이블에 대한 필터링된 결과가 표시됩니다. 자세한 내용은 세분화된 액세스 제어 정보를 참조하세요.
사용
INFORMATION_SCHEMA 테이블은 다음과 같은 SQL 인터페이스를 통해서만 사용할 수 있습니다.
executeQueryAPIgcloud spanner databases execute-sql명령어- Google Cloud 콘솔의 데이터베이스 Spanner Studio 페이지)
다른 단일 읽기 메서드는 INFORMATION_SCHEMA를 지원하지 않습니다.
일부 추가적인 INFORMATION_SCHEMA 사용법 참고사항은 다음과 같습니다.
INFORMATION_SCHEMA에 대한 쿼리를 읽기 전용 트랜잭션에서 사용할 수 있지만 읽기-쓰기 트랜잭션에서는 사용할 수 없습니다.INFORMATION_SCHEMA에 대한 쿼리는 강력, 제한된 비활성 또는 완전 비활성 타임스탬프 경계를 사용할 수 있습니다.- PostgreSQL 언어 데이터베이스를 사용하는 경우 PostgreSQL 다이얼 데이터베이스에 대한 정보 스키마를 참조하세요.
- 세분화된 액세스 제어 사용자인 경우 이 사용자가 액세스할 수 있는 스키마 요소만 표시하도록
INFORMATION_SCHEMA테이블이 필터링됩니다.
information_schema 테이블에서 행 필터링
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할(또는 해당 역할의 구성원)에 대한 액세스 권한이 부여된 주 구성원은 모든 information_schema 테이블의 모든 행을 볼 수 있습니다. 기타 주 구성원은 일부 테이블의 경우 현재 데이터베이스 역할에 따라 행이 필터링됩니다. 다음 섹션의 테이블 및 뷰 설명은 각 테이블과 뷰에 행 필터링이 적용되는 방식을 나타냅니다.
INFORMATION_SCHEMA의 테이블
다음 섹션에서는 GoogleSQL 언어 데이터베이스에 대한 INFORMATION_SCHEMA의 테이블을 설명합니다.
SCHEMATA
INFORMATION_SCHEMA.SCHEMATA 테이블에는 데이터베이스의 스키마가 나열됩니다. 여기에는 정의한 테이블을 포함하는 정보 스키마와 이름이 지정된 스키마가 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CATALOG_NAME |
STRING |
카탈로그의 이름입니다. SQL 표준 정보 스키마 테이블과의 호환성을 위해 있는 열입니다. 이 열은 항상 빈 문자열입니다. |
SCHEMA_NAME |
STRING |
스키마의 이름입니다. 이름이 지정된 스키마의 이름이거나 기본 스키마의 경우 ``입니다. |
PROTO_BUNDLE |
STRING |
데이터베이스에 proto 번들 문이 포함되어 있는 경우 이 열은 스키마에 사용된 proto 번들에 대한 정보를 제공합니다. proto 번들이 데이터베이스에 없는 경우 이 열은 NULL입니다. |
DATABASE_OPTIONS
이 테이블에는 데이터베이스에 설정된 옵션이 나열됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CATALOG_NAME |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
SCHEMA_NAME |
STRING |
스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
OPTION_NAME |
STRING |
데이터베이스 옵션의 이름입니다. |
OPTION_TYPE |
STRING |
데이터베이스 옵션의 데이터 유형입니다. |
OPTION_VALUE |
STRING |
데이터베이스 옵션 값입니다. |
PLACEMENTS
이 테이블에는 데이터베이스의 배치가 나열됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
PLACEMENT_NAME |
STRING |
배치의 이름입니다. |
IS_DEFAULT |
BOOL |
배치가 기본 배치인지 여부를 나타내는 불리언입니다. |
PLACEMENT_OPTIONS
이 테이블에는 각 배치에 대한 CREATE PLACEMENT 문의 OPTIONS 절에서 배치에 설정된 옵션이 나와 있습니다.
OPTION_NAME에 유효한 값은 다음과 같습니다.
instance_partitiondefault_leader
| 열 이름 | 유형 | 설명 |
|---|---|---|
PLACEMENT_NAME |
STRING |
배치의 이름입니다. |
OPTION_NAME |
STRING |
게재위치 옵션의 이름입니다. |
OPTION_TYPE |
STRING |
배치 옵션의 데이터 유형입니다. 두 옵션 모두 STRING(MAX)입니다. |
OPTION_VALUE |
STRING |
배치 옵션의 값입니다. instance_partition의 경우 인스턴스 파티션의 이름입니다. default_leader의 경우 기본 리더 리전의 이름입니다. |
LOCALITY_GROUP_OPTIONS
이 표에는 CREATE LOCALITY GROUP 문의 OPTIONS 절에서 지역 그룹에 설정된 이름과 옵션이 각 지역 그룹별로 나와 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
LOCALITY_GROUP_NAME |
STRING |
지역 그룹 이름입니다. |
OPTION_NAME |
STRING |
지역 그룹 옵션 이름입니다. 유효한 옵션은 다음과 같습니다.
|
OPTION_VALUE |
STRING |
지역 그룹 옵션 값입니다. STORAGE의 경우 ssd 또는 hdd입니다. SSD_TO_HDD_SPILL_TIMESPAN의 경우 데이터가 HDD 스토리지로 이동하기 전에 SSD에 저장되어야 하는 시간입니다. 예를 들어 10d는 10일입니다. 설정할 수 있는 최소 시간은 1시간입니다. |
TABLES
이 행 필터링 테이블은 데이터베이스의 테이블 및 뷰를 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 테이블만 볼 수 있습니다.
-
테이블에 대한
SELECT,INSERT,UPDATE또는DELETE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 부여됩니다. SELECT,INSERT또는UPDATE권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 테이블 열에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
테이블, 뷰 또는 동의어의 이름입니다. |
TABLE_TYPE |
STRING |
테이블의 유형입니다. 테이블의 경우 값이 BASE TABLE이고, 뷰의 경우 값이 VIEW이고, 동의어의 경우 값이 SYNONYM입니다. |
PARENT_TABLE_NAME |
STRING |
이 테이블이 인터리브 처리된 경우 상위 테이블의 이름이고 그렇지 않은 경우 NULL입니다. |
ON_DELETE_ACTION |
STRING |
인터리브 처리된 테이블의 경우 CASCADE 또는 NO ACTION으로 설정되고 그렇지 않으면 NULL로 설정됩니다. 자세한 내용은 TABLE 문을 참조하세요. |
SPANNER_STATE |
STRING |
대량 작업이 포함된 경우 테이블은 만들기 중 여러 상태를 통과할 수 있습니다. 예를 들어 색인 백필이 필요한 외래 키로 테이블이 생성될 때 가능한 상태는 다음과 같습니다.
|
INTERLEAVE_TYPE |
STRING |
이 테이블과 인터리브 처리된 테이블 간의 상위-하위 관계가 있는지 여부를 나타내는 표현식 텍스트입니다.
가능한 값은 다음과 같습니다.
|
ROW_DELETION_POLICY_EXPRESSION |
STRING |
테이블의 행 삭제 정책을 정의하는 표현식 텍스트입니다.
예를 들면 OLDER_THAN(CreatedAt, INTERVAL 1 DAY) 또는 OLDER_THAN(ExpiredDate, INTERVAL 0 DAY)입니다.
|
COLUMNS
이 행 필터링 테이블은 테이블의 열을 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 테이블만 볼 수 있습니다.
SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열에 직접 부여됩니다.SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열이 포함된 테이블에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
열 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
테이블의 이름입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
ORDINAL_POSITION |
INT64 |
테이블에서 열의 서수 위치이며 값 1부터 시작합니다. |
COLUMN_DEFAULT |
STRING |
열의 기본값에 대한 SQL 표현식의 문자열 표현입니다. 열에 기본값이 없으면
참고: 2022년 3월 이전에는 |
DATA_TYPE |
STRING |
SQL 표준을 충족하기 위해 포함되었습니다. 항상 NULL입니다. SPANNER_TYPE 열을 참조합니다. |
IS_NULLABLE |
STRING |
이 열에서 null을 사용할 수 있는지를 나타내는 문자열입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES 또는 NO입니다. |
SPANNER_TYPE |
STRING |
열의 데이터 유형입니다. |
IS_GENERATED |
STRING |
열이 생성되는지를 나타내는 문자열입니다. 문자열은 생성 열의 경우 ALWAYS이거나 생성되지 않은 열의 경우 NEVER입니다. |
GENERATION_EXPRESSION |
STRING |
생성 열의 SQL 표현식을 나타내는 문자열입니다.
열이 생성 열이 아닌 경우 NULL입니다. |
IS_STORED |
STRING |
생성 열이 저장되는지를 나타내는 문자열입니다.
문자열은 생성 열의 경우 항상 YES이고 생성되지 않은 열의 경우 NULL입니다. |
IS_HIDDEN |
STRING |
열이 SELECT * 쿼리에 표시되지 않으면 TRUE로 설정되고, 그렇지 않으면 FALSE로 설정되는 문자열입니다. 열이 숨겨져 있어도 이름을 사용하여 열을 선택할 수 있습니다 (예: SELECT Id, Name, ColHidden FROM TableWithHiddenColumn). |
SPANNER_STATE |
STRING |
열의 현재 상태입니다. 기존 테이블에 추가된 새롭게 저장되고 생성된 열은 완전히 사용되기 전에 사용자가 관찰 가능한 여러 상태를 거쳐갈 수 있습니다. 가능한 값은 다음과 같습니다.
|
IS_IDENTITY |
STRING |
생성된 열이 ID 열인 경우 YES로 설정되고, 그렇지 않은 경우 NO로 설정되는 문자열입니다. |
IDENTITY_GENERATION |
STRING |
열이 생성된 값만 허용하고 맞춤 사용자 삽입 값은 허용하지 않는지 여부를 지정하는 문자열입니다.
|
IDENTITY_KIND |
STRING |
항상 BIT_REVERSED_POSITITVE_SEQUENCE입니다. 비트가 반전된 양수 시퀀스만 지원됩니다.
|
IDENTITY_START_WITH_COUNTER |
STRING |
변환 전 내부 카운터의 시작 값입니다. 예를 들어 비트 반전 전 시작 값입니다. |
IDENTITY_SKIP_RANGE_MIN |
STRING |
변환 후 건너뛴 범위의 최솟값입니다. |
IDENTITY_SKIP_RANGE_MAX |
STRING |
변환 후 건너뛴 범위의 최댓값입니다. |
COLUMN_PRIVILEGES
이 행 필터링 테이블은 열 수준에서 public을 포함하여 데이터베이스 역할에 부여된 모든 권한을 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 열의 권한만 볼 수 있습니다.
SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열에 직접 부여됩니다.SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열이 포함된 테이블에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
열 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
권한이 있는 열이 포함된 테이블의 이름입니다. |
COLUMN_NAME |
STRING |
권한이 있는 열의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
SELECT, INSERT, UPDATE |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
TABLE_PRIVILEGES
이 행 필터링 테이블에는 테이블 수준에서 public을 포함하여 데이터베이스 역할에 부여된 모든 권한이 나열됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 SELECT, INSERT, UPDATE, 또는 DELETE 세분화된 액세스 제어 권한이 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 테이블에 대한 권한을 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
세분화된 액세스 제어 권한이 부여된 테이블의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
SELECT, INSERT, UPDATE 및 DELETE |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
TABLE_CONSTRAINTS
이 테이블에는 데이터베이스의 테이블에 대해 정의된 각 제약조건에 대한 행 하나가 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CONSTRAINT_CATALOG |
STRING |
항상 빈 문자열입니다. |
CONSTRAINT_SCHEMA |
STRING |
제약조건 스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
CONSTRAINT_NAME |
STRING |
제약조건의 이름입니다. |
TABLE_CATALOG |
STRING |
제한된 테이블의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
제한된 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
제한된 테이블의 이름입니다. |
CONSTRAINT_TYPE |
STRING |
제약조건의 유형입니다. 가능한 값은 다음과 같습니다.
|
IS_DEFERRABLE |
STRING |
항상 NO입니다. |
INITIALLY_DEFERRED |
STRING |
항상 NO입니다. |
ENFORCED |
STRING |
제약 조건이 정보(NOT ENFORCED) 외래 키인 경우 NO입니다.
강제 외래 키나 기타 제약 조건 유형의 경우 YES입니다.
|
CONSTRAINT_TABLE_USAGE
이 테이블에는 제약 조건을 정의하거나 제약조건에 사용하는 테이블이 나와 있습니다. PRIMARY KEY 및 UNIQUE 제약조건을 정의하는 테이블을 포함합니다. FOREIGN KEY 정의의 참조되는 테이블도 포함합니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
제한된 테이블의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
제한된 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
제한된 테이블의 이름입니다. |
CONSTRAINT_CATALOG |
STRING |
제약조건 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
CONSTRAINT_SCHEMA |
STRING |
제약조건 스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
CONSTRAINT_NAME |
STRING |
제약조건의 이름입니다. |
REFERENTIAL_CONSTRAINTS
이 테이블에는 각 FOREIGN KEY 제약조건에 대해 하나의 행이 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CONSTRAINT_CATALOG |
STRING |
FOREIGN KEY 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
CONSTRAINT_SCHEMA |
STRING |
FOREIGN KEY 스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
CONSTRAINT_NAME |
STRING |
외래 키의 이름입니다. |
UNIQUE_CONSTRAINT_CATALOG |
STRING |
FOREIGN KEY 참조의 PRIMARY KEY 또는 UNIQUE 제약조건의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
UNIQUE_CONSTRAINT_SCHEMA |
STRING |
기본 키 또는 고유 제약조건 외래 키 참조의 스키마 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
UNIQUE_CONSTRAINT_NAME |
STRING |
기본 키 또는 고유 제약조건 외래 키 참조의 이름입니다. |
MATCH_OPTION |
STRING |
항상 SIMPLE입니다. |
UPDATE_RULE |
STRING |
항상 NO ACTION입니다. |
DELETE_RULE |
STRING |
CASCADE 또는 NO ACTION. |
SPANNER_STATE |
STRING |
외래 키의 현재 상태입니다. 외래 키의 지원 색인이 생성되고 백필될 때까지 Spanner에서 제약조건 적용이 시작되지 않습니다. 색인이 준비되면 Spanner가 기존 데이터를 검사하는 동안 새 트랜잭션에 대해 제약조건 적용을 시작합니다.
가능한 값과 나타내는 상태는 다음과 같습니다.
|
CHECK_CONSTRAINTS
information_schema.CHECK_CONSTRAINTS 테이블에는 CHECK 또는 NOT NULL 키워드로 정의된 각 CHECK 제약조건에 대한 행 하나가 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CONSTRAINT_CATALOG |
STRING |
제약조건 카탈로그의 이름입니다. 이 열은 null이 아니지만 항상 빈 문자열입니다. |
CONSTRAINT_SCHEMA |
STRING |
제약조건 스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
CONSTRAINT_NAME |
STRING |
제약조건의 이름입니다. 이 열은 null이 아닙니다. 스키마 정의에 명시적으로 지정되지 않으면 시스템 정의 이름이 할당됩니다. |
CHECK_CLAUSE |
STRING |
CHECK 제약조건의 표현식입니다. 이 열은 null이 아닙니다. |
SPANNER_STATE |
STRING |
CHECK 제약조건의 현재 상태입니다. 이 열은 null이 아닙니다. 가능한 상태는 다음과 같습니다.
|
KEY_COLUMN_USAGE
이 행 필터링 테이블에는 PRIMARY KEY, FOREIGN
KEY, UNIQUE 제약조건에 따라 키로 제한된 TABLE_CONSTRAINTS에서 테이블의 각 열에 대한 행 하나가 포함됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 기준을 충족하는 열만 볼 수 있습니다.
SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열에 직접 부여됩니다.SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열이 포함된 테이블에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CONSTRAINT_CATALOG |
STRING |
제약조건 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
CONSTRAINT_SCHEMA |
STRING |
제약조건 스키마의 이름입니다. 이 열은 null이 아닙니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
CONSTRAINT_NAME |
STRING |
제약조건의 이름입니다. |
TABLE_CATALOG |
STRING |
제한된 열의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
제한된 열의 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
제한된 열의 테이블 이름입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
ORDINAL_POSITION |
INT64 |
1 값으로 시작하는 제약조건 키 내 열의 서수 위치입니다. |
POSITION_IN_UNIQUE_CONSTRAINT |
INT64 |
FOREIGN KEYs에 대해 1 값으로 시작하는 고유 제약조건 내 열의 서수 위치입니다. 다른 제약조건 유형의 경우 이 열은 null입니다. |
CONSTRAINT_COLUMN_USAGE
이 테이블에는 제약조건에 사용되는 각 열에 대한 행 하나가 포함됩니다. FOREIGN KEY 제약조건의 참조되는 열 외에도 PRIMARY KEY 및 UNIQUE 열이 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
열 테이블의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
열 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
열의 테이블 이름입니다. |
COLUMN_NAME |
STRING |
제약조건에 사용되는 열의 이름입니다. |
CONSTRAINT_CATALOG |
STRING |
제약조건 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
CONSTRAINT_SCHEMA |
STRING |
제약조건 스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
CONSTRAINT_NAME |
STRING |
제약조건의 이름입니다. |
TABLE_SYNONYMS
이 테이블에는 테이블의 동의어 정보가 나열됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
테이블의 이름입니다. |
SYNONYM_CATALOG |
STRING |
동의어의 카탈로그 이름입니다. |
SYNONYM_SCHEMA |
STRING |
동의어의 스키마 이름입니다. |
SYNONYM_TABLE_NAME |
STRING |
동의어의 테이블 이름입니다. |
INDEXES
이 행 필터링 테이블은 데이터베이스의 색인을 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 색인만 볼 수 있습니다.
SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 색인의 모든 열에 대한 열 수준에서 부여됩니다.SELECT,INSERT,UPDATE또는DELETE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 색인이 포함된 테이블에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
색인 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
테이블의 이름입니다. |
INDEX_NAME |
STRING |
색인의 이름입니다. PRIMARY KEY 스펙이 있는 테이블은 이름 PRIMARY_KEY으로 생성 된 허위 색인 항목이 있습니다. 이것은 기본 키의 필드를 결정할 수 있습니다. |
INDEX_TYPE |
STRING |
색인의 유형입니다. 유형은 INDEX 또는 PRIMARY_KEY입니다. |
PARENT_TABLE_NAME |
STRING |
보조 색인 만들기에 설명된 대로 보조 색인은 상위 테이블에서 인터리브 처리될 수 있습니다. 이 열에는 상위 테이블의 이름이 있거나 색인이 인터리브 처리되지 않은 경우에는 빈 문자열이 포함됩니다. |
IS_UNIQUE |
BOOL |
색인 키가 고유해야 하는지 여부입니다. |
IS_NULL_FILTERED |
BOOL |
색인에 NULL 값이 있는 항목을 포함하는지 여부입니다. |
INDEX_STATE |
STRING |
색인의 현재 상태입니다. 가능한 값과 나타내는 상태는 다음과 같습니다.
|
SPANNER_IS_MANAGED |
BOOL |
Spanner에서 색인을 관리하는 경우는 TRUE이고 그 외의 경우는 FALSE입니다. Spanner에서 외래 키의 보조 지원 색인을 관리합니다. |
INDEX_COLUMNS
이 행 필터링 테이블은 색인의 열을 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 색인만 볼 수 있습니다.
SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 색인의 모든 열에 대한 열 수준에서 부여됩니다.SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 색인이 포함된 테이블에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
색인 테이블의 스키마 이름입니다. 이름은 기본 스키마의 경우 비어 있고 다른 스키마의 경우 값을 포함합니다. 이 열에는 항상 값이 포함됩니다. |
TABLE_NAME |
STRING |
테이블의 이름입니다. |
INDEX_NAME |
STRING |
색인의 이름입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
ORDINAL_POSITION |
INT64 |
색인에서 열의 서수 위치이며 값 1부터 시작합니다. 이 값은 키가 아닌 열(예: 색인의 STORING 절에 지정된 열)의 NULL입니다. |
COLUMN_ORDERING |
STRING |
열의 순서입니다. 값은 키 열의 경우 ASC 또는 DESC이고 키 열이 아닌(예: 색인의 STORING 절에 지정된 열) 경우 NULL입니다. |
IS_NULLABLE |
STRING |
이 열에서 null을 사용할 수 있는지를 나타내는 문자열입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES 또는 NO입니다. |
SPANNER_TYPE |
STRING |
열의 데이터 유형입니다. |
COLUMN_OPTIONS
이 행 필터링 테이블은 테이블의 열 옵션 목록이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 열의 옵션만 볼 수 있습니다.
SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열에 직접 부여됩니다.SELECT,INSERT또는UPDATE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 대한 열이 포함된 테이블에 부여됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
스키마의 이름입니다. 이 이름은 기본 스키마의 경우 비어 있고 다른(예: INFORMATION_SCHEMA 자체) 스키마의 경우 비어 있지 않습니다.
이 열은 null이 아닙니다. |
TABLE_NAME |
STRING |
테이블의 이름입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
OPTION_NAME |
STRING |
옵션을 고유하게 식별하는 SQL 식별자입니다. 이 식별자는 DDL의 OPTIONS 절 키입니다.
|
OPTION_TYPE |
STRING |
이 옵션 값의 유형인 데이터 유형 이름입니다. |
OPTION_VALUE |
STRING |
이 옵션의 값을 설명하는 SQL 리터럴입니다. 이 열의 값은 쿼리의 일부로 파싱할 수 있어야 합니다. 값 파싱의 결과 표현식은 OPTION_TYPE으로 캐스팅 가능해야 합니다. 이 열은 null이 아닙니다. |
SEQUENCES
이 테이블에는 시퀀스 메타데이터가 나와 있습니다. SEQUENCES는 세분화된 액세스 권한이 있는 사용자가 쿼리하는 경우 세분화된 액세스 권한을 기반으로 행이 필터링됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CATALOG |
STRING |
시퀀스가 포함된 카탈로그의 이름입니다. |
SCHEMA |
STRING |
시퀀스가 포함된 스키마의 이름입니다. |
NAME |
STRING |
시퀀스 이름입니다. |
DATA_TYPE |
STRING |
시퀀스 값 유형입니다. INT64 데이터 유형을 사용합니다. |
SEQUENCE_OPTIONS
이 테이블에는 시퀀스의 구성 옵션이 포함됩니다. SEQUENCE_OPTIONS는 세분화된 액세스 권한이 있는 사용자가 쿼리하는 경우 세분화된 액세스 권한을 기반으로 행이 필터링됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CATALOG |
STRING |
시퀀스가 포함된 카탈로그의 이름입니다. |
SCHEMA |
STRING |
시퀀스가 포함된 스키마의 이름입니다. |
NAME |
STRING |
시퀀스 이름입니다. |
OPTION_NAME |
STRING |
시퀀스 옵션 이름입니다. |
OPTION_TYPE |
STRING |
이 옵션 값의 유형인 데이터 유형 이름입니다. |
OPTION_VALUE |
STRING |
시퀀스 옵션 값입니다. 값 파싱의 결과 표현식은 OPTION_TYPE으로 변환을 허용해야 합니다. |
SPANNER_STATISTICS
이 테이블에는 사용 가능한 쿼리 최적화 도구 통계 패키지가 나열되어 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CATALOG_NAME |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
SCHEMA_NAME |
STRING |
스키마의 이름입니다. 이 이름은 기본 스키마의 경우 비어 있고 다른(예: INFORMATION_SCHEMA 자체) 스키마의 경우 비어 있지 않습니다.
이 열은 null이 아닙니다. |
PACKAGE_NAME |
STRING |
통계 패키지의 이름입니다. |
ALLOW_GC |
BOOL |
통계 패키지가 가비지 컬렉션에서 제외되는 경우는 FALSE이고 그렇지 않으면 TRUE입니다.
힌트에서 또는 클라이언트 API를 통해 통계 패키지를 참조하려면 이 속성을 FALSE로 설정해야 합니다.
|
VIEWS
이 행 필터링 테이블은 데이터베이스의 뷰를 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 SELECT 세분화된 액세스 제어 권한이 부여된 뷰만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
TABLE_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
TABLE_NAME |
STRING |
뷰의 이름입니다. |
VIEW_DEFINITION |
STRING |
뷰를 정의하는 쿼리의 SQL 텍스트. |
SECURITY_TYPE |
STRING |
뷰 보안 유형입니다. INVOKER 또는 DEFINER.
자세한 내용은 뷰 정보를 참조하세요. |
ROLES
이 행 필터링 테이블은 시스템 역할을 포함하여 세분화된 액세스 제어를 위한 정의된 데이터베이스 역할을 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 모든 데이터베이스 역할을 볼 수 있습니다. 다른 모든 주 구성원은 직접 또는 상속을 통해 액세스 권한을 부여받은 데이터베이스 역할만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
ROLE_NAME |
STRING |
데이터베이스 역할의 이름입니다. |
IS_SYSTEM |
BOOL |
데이터베이스 역할이 시스템 역할인 경우는 TRUE, 그렇지 않으면 FALSE입니다. |
ROLE_GRANTEES
이 행 필터링 테이블은 모든 데이터베이스 역할에 명시적으로 부여된 모든 역할 멤버십을 나열합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 또는 현재 데이터베이스 역할이 구성원인 역할에 부여된 역할 멤버십만 확인할 수 있습니다.
모든 데이터베이스 역할은 공개 역할의 구성원이므로 결과에서 공개 역할의 암시적 멤버십에 대한 레코드가 생략됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
ROLE_NAME |
STRING |
이 멤버십이 부여된 데이터베이스 역할의 이름입니다. |
GRANTEE |
STRING |
이 멤버십이 부여된 데이터베이스 역할의 이름입니다. |
CHANGE_STREAMS
이 행 필터링 테이블에는 데이터베이스의 모든 변경 내역이 나와 있으며 전체 데이터베이스를 추적하는지 아니면 특정 테이블이나 열을 추적하는지 보여줍니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 세분화된 액세스 제어 권한이 있는 변경 내역만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
변경 내역의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_SCHEMA |
STRING |
이 변경 내역의 스키마 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_NAME |
STRING |
변경 내역의 이름입니다. |
ALL |
BOOL |
이 변경 내역이 전체 데이터베이스를 추적하면 TRUE입니다.
이 변경 내역이 특정 테이블이나 열을 추적하면 FALSE입니다. |
CHANGE_STREAM_TABLES
이 행 필터링 테이블에는 테이블 및 이를 감시하는 변경 내역에 대한 정보가 포함됩니다. 각 행은 테이블 1개 및 변경 내역 1개를 설명합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 권한의 변경 내역에 대한 행만 볼 수 있습니다.
CHANGE_STREAM_TABLES의 데이터에는 전체 데이터베이스를 추적하는 테이블과 변경 내역 간의 암시적 관계가 포함되지 않습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
변경 내역의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_SCHEMA |
STRING |
변경 내역의 스키마 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_NAME |
STRING |
이 행이 참조하는 변경 내역의 이름입니다. |
TABLE_CATALOG |
STRING |
테이블 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
테이블의 스키마 이름입니다. 항상 빈 문자열입니다. |
TABLE_NAME |
STRING |
이 행이 참조하는 테이블의 이름입니다. |
ALL_COLUMNS |
BOOL |
이 행의 변경 내역에서 이 행이 참조하는 테이블 전체를 추적하면 TRUE입니다. 그 이외의 경우 FALSE를 사용합니다. |
CHANGE_STREAM_COLUMNS
이 행 필터링 테이블에는 테이블 열과 이를 감시하는 변경 내역에 대한 정보가 포함되어 있습니다. 각 행은 변경 내역 하나와 열 하나를 설명합니다. 변경 내역이 전체 테이블을 추적하면 해당 테이블의 열은 이 뷰에 표시되지 않습니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 권한의 변경 내역에 대한 행만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
변경 내역의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_SCHEMA |
STRING |
변경 내역의 스키마 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_NAME |
STRING |
변경 내역의 이름입니다. |
TABLE_CATALOG |
STRING |
테이블 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
테이블의 스키마 이름입니다. 항상 빈 문자열입니다. |
TABLE_NAME |
STRING |
이 행이 참조하는 테이블의 이름입니다. |
COLUMN_NAME |
STRING |
이 행이 참조하는 열의 이름입니다. |
CHANGE_STREAM_OPTIONS
이 행 필터링 테이블에는 변경 내역의 구성 옵션이 포함됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 권한의 변경 내역에 대한 옵션만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
변경 내역의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_SCHEMA |
STRING |
변경 내역의 스키마 이름입니다. 항상 빈 문자열입니다. |
CHANGE_STREAM_NAME |
STRING |
변경 내역의 이름입니다. |
OPTION_NAME |
STRING |
변경 내역 옵션의 이름입니다. |
OPTION_TYPE |
STRING |
변경 내역 옵션의 데이터 유형입니다. |
OPTION_VALUE |
STRING |
변경 내역 옵션 값입니다. |
CHANGE_STREAM_PRIVILEGES
이 행 필터링 테이블에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 변경 내역에 부여된 권한만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CHANGE_STREAM_CATALOG
|
STRING
|
변경 내역이 포함된 카탈로그의 이름입니다(빈 문자열). |
CHANGE_STREAM_SCHEMA
|
STRING
|
변경 내역이 포함된 스키마의 이름입니다(빈 문자열). |
CHANGE_STREAM_NAME
|
STRING
|
변경 내역의 이름입니다. |
PRIVILEGE_TYPE
|
STRING
|
SELECT(변경 내역에 허용되는 유일한 권한)
|
GRANTEE
|
STRING
|
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
ROUTINES
이 행 필터링 테이블은 데이터베이스의 모든 변경 내역 읽기 함수를 나열합니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 EXECUTE 세분화된 액세스 제어 권한의 변경 내역 읽기 함수만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
SPECIFIC_CATALOG |
STRING |
루틴 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_SCHEMA |
STRING |
루틴 스키마 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_NAME |
STRING |
루틴의 이름입니다. 이름이 오버로드되어도 루틴을 고유하게 식별합니다. |
ROUTINE_CATALOG |
STRING |
루틴 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
ROUTINE_SCHEMA |
STRING |
루틴 스키마 이름입니다. 항상 빈 문자열입니다. |
ROUTINE_NAME |
STRING |
루틴의 이름입니다. (과부하 시 중복될 수 있습니다.) |
ROUTINE_TYPE |
STRING |
루틴의 유형(FUNCTION 또는 PROCEDURE)입니다. 항상FUNCTION |
DATA_TYPE |
STRING |
루틴이 반환하는 데이터 유형 |
ROUTINE_BODY |
STRING |
루틴 본문의 유형(SQL 또는 EXTERNAL)입니다. |
ROUTINE_DEFINITION |
STRING |
ROUTINE_BODY에 대한 정의입니다. |
SECURITY_TYPE |
STRING |
루틴의 보안 유형, 항상 INVOKER입니다. |
ROUTINE_OPTIONS
이 행 필터링 테이블에는 정의된 각 변경 내역 읽기 함수의 각 옵션에 대해 하나의 행이 포함됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 EXECUTE 세분화된 액세스 제어 권한의 변경 내역 읽기 함수에 대한 옵션만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
SPECIFIC_CATALOG
|
STRING
|
루틴 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_SCHEMA
|
STRING
|
루틴 스키마 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_NAME
|
STRING
|
루틴의 이름입니다. 이름 과부하가 발생할 경우 루틴을 고유하게 식별합니다. |
OPTION_NAME
|
STRING
|
옵션을 고유하게 식별하는 SQL 식별자입니다. |
OPTION_TYPE
|
STRING
|
OPTION_VALUE 데이터 유형입니다.
|
OPTION_VALUE
|
STRING
|
이 옵션의 값을 설명하는 SQL 리터럴입니다. 이 열의 값은 쿼리의 일부로 파싱할 수 있어야 합니다. |
PARAMETERS
이 행 필터링 테이블은 각 변경 내역 읽기 함수에 대한 인수를 정의합니다. 각 행은 변경 내역 읽기 함수 1개의 인수 1개를 설명합니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public에 대해 EXECUTE 세분화된 액세스 제어 권한이 부여된 변경 내역 읽기 함수에 대한 매개변수만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
SPECIFIC_CATALOG |
STRING |
루틴 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_SCHEMA |
STRING |
루틴 스키마 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_NAME |
STRING |
루틴의 이름입니다. 이름 과부하가 발생할 경우 루틴을 고유하게 식별합니다. |
ORDINAL_POSITION |
INT64 |
루틴에서 매개변수의 서수 위치이며 값 1부터 시작합니다. |
PARAMETER_NAME |
STRING |
매개변수의 이름입니다. |
DATA_TYPE |
STRING |
매개변수의 데이터 유형입니다. |
PARAMETER_DEFAULT |
STRING |
파라미터의 기본값 또는 기본값이 없는 파라미터의 NULL입니다. |
ROUTINE_PRIVILEGES
이 행 필터링 테이블에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역 읽기 함수에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 변경 내역 읽기 함수에 대한 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
SPECIFIC_CATALOG |
STRING |
루틴 카탈로그의 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_SCHEMA |
STRING |
루틴 스키마 이름입니다. 항상 빈 문자열입니다. |
SPECIFIC_NAME |
STRING |
루틴의 이름입니다. 이름 과부하가 발생할 경우 루틴을 고유하게 식별합니다. |
PRIVILEGE_TYPE |
STRING |
항상 EXECUTE입니다.
|
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
ROLE_TABLE_GRANTS
이 행 필터링 테이블에는 public을 포함하여 모든 데이터베이스 역할에 대한 모든 테이블과 뷰에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)으로 테이블 및 뷰에 부여된 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
GRANTOR |
STRING |
사용되지 않음. 항상 NULL입니다. |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_NAME |
STRING |
테이블 또는 뷰의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
권한 유형(SELECT, INSERT, UPDATE 또는 DELETE)입니다. |
IS_GRANTABLE |
STRING |
사용되지 않음. 항상 NO입니다. |
ROLE_COLUMN_GRANTS
이 행 필터링 테이블에는 public을 포함한 모든 데이터베이스 역할에 대해 모든 열에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)에 대한 열에 부여된 권한만 확인할 수 있습니다.
뷰에는 열이 포함된 테이블 또는 뷰에서 열이 상속하는 SELECT, INSERT, UPDATE 권한이 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
GRANTOR |
STRING |
사용되지 않음. 항상 NULL입니다. |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
TABLE_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
TABLE_NAME |
STRING |
열이 포함된 테이블이나 뷰의 이름입니다. |
COLUMN_NAME |
STRING |
권한이 부여된 열의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
권한 유형(SELECT, INSERT, UPDATE)입니다. |
IS_GRANTABLE |
STRING |
사용되지 않음. 항상 NO입니다. |
ROLE_CHANGE_STREAM_GRANTS
이 행 필터링 테이블에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역에 부여된 SELECT 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할에 대한 변경 내역 및 현재 데이터베이스 역할이 구성원인 역할(public 제외) 에 부여된 권한만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
CHANGE_STREAM_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
CHANGE_STREAM_SCHEMA |
STRING |
변경 내역이 포함된 스키마의 이름입니다. |
CHANGE_STREAM_NAME |
STRING |
변경 내역의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
권한 유형입니다(SELECT만 해당). |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
ROLE_MODEL_GRANTS
이 행 필터링 테이블에는 public을 포함한 모든 데이터베이스 역할에 대해 모든 모델에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)으로 테이블 및 뷰에 부여된 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
GRANTOR |
STRING |
사용되지 않음. 항상 NULL입니다. |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
MODEL_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
MODEL_SCHEMA |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
MODEL_NAME |
STRING |
모델의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
권한 유형(EXECUTE)입니다. |
IS_GRANTABLE |
STRING |
사용되지 않음. 항상 NO입니다. |
ROLE_ROUTINE_GRANTS
이 행 필터링 테이블에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역 읽기 함수에 부여된 EXECUTE 권한이 나열됩니다. IAM 데이터베이스 수준 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)에 대한 변경 내역 읽기 함수에 부여된 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
GRANTOR
|
STRING
|
사용되지 않음. 항상 NULL입니다. |
GRANTEE
|
STRING
|
권한이 부여된 역할의 이름입니다. |
SPECIFIC_CATALOG
|
STRING
|
루틴 카탈로그의 이름입니다. |
SPECIFIC_SCHEMA
|
STRING
|
루틴 스키마 이름입니다. |
SPECIFIC_NAME
|
STRING
|
루틴의 이름입니다. 이름 과부하가 발생할 경우 루틴을 고유하게 식별합니다. |
PRIVILEGE_TYPE
|
STRING
|
부여된 권한 유형입니다. 항상 EXECUTE입니다. |
IS_GRANTABLE
|
STRING
|
사용되지 않음. 항상 NO입니다. |
MODELS
이 테이블은 데이터베이스의 모든 모델을 나열합니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
MODEL_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
MODEL_SCHEMA |
STRING |
이 모델의 스키마 이름입니다. 항상 빈 문자열입니다. |
MODEL_NAME |
STRING |
모델의 이름입니다. |
IS_REMOTE |
BOOL |
원격 모델인 경우 TRUE입니다. 관리형 모델인 경우 FALSE입니다. |
MODEL_OPTIONS
이 테이블에는 모델의 구성 옵션이 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
MODEL_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
MODEL_SCHEMA |
STRING |
이 모델의 스키마 이름입니다. 항상 빈 문자열입니다. |
MODEL_NAME |
STRING |
모델의 이름입니다. |
OPTION_NAME |
STRING |
모델 옵션 이름입니다. |
OPTION_TYPE |
STRING |
모델 옵션의 데이터 유형입니다. |
OPTION_VALUE |
STRING |
모델 옵션 값입니다. |
MODEL_COLUMNS
이 테이블에는 모델의 열이 나열됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
MODEL_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
MODEL_SCHEMA |
STRING |
이 모델의 스키마 이름입니다. 항상 빈 문자열입니다. |
MODEL_NAME |
STRING |
모델의 이름입니다. |
COLUMN_KIND |
STRING |
모델 열 종류입니다. "INPUT" 또는 "OUTPUT" 중 하나입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
DATA_TYPE |
STRING |
열의 표준 SQL 데이터 유형입니다. |
ORDINAL_POSITION |
INT64 |
열의 서수 위치이며 선언된 열의 순서를 유지하도록 값 1부터 시작합니다. |
IS_EXPLICIT |
BOOL |
열이 DDL에서 명시적으로 지정된 경우 TRUE, 열이 엔드포인트에서 검색된 경우 FALSE입니다. |
MODEL_COLUMN_OPTIONS
이 테이블에는 모델 열의 구성 옵션이 포함됩니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
MODEL_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
MODEL_SCHEMA |
STRING |
이 모델의 스키마 이름입니다. 항상 빈 문자열입니다. |
MODEL_NAME |
STRING |
모델의 이름입니다. |
COLUMN_KIND |
STRING |
모델 열 종류입니다. "INPUT" 또는 "OUTPUT" 중 하나입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
OPTION_NAME |
STRING |
모델 열 옵션 이름입니다. |
OPTION_TYPE |
STRING |
모델 열 옵션의 데이터 유형입니다. |
OPTION_VALUE |
STRING |
모델 열 옵션 값입니다. |
MODEL_PRIVILEGES
이 행 필터링 테이블에는 모델 수준에서 public을 포함하여 데이터베이스 역할에 부여된 모든 권한이 나열됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할에 EXECUTE 세분화된 액세스 제어 권한이 부여된 모델, 현재 데이터베이스 역할이 구성원인 역할 또는 public에 대한 권한만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
MODEL_CATALOG |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
MODEL_SCHEMA |
STRING |
사용되지 않음. 항상 빈 문자열입니다. |
MODEL_NAME |
STRING |
세분화된 액세스 제어 권한이 부여된 모델의 이름입니다. |
PRIVILEGE_TYPE |
STRING |
EXECUTE> |
GRANTEE |
STRING |
이 권한이 부여된 데이터베이스 역할의 이름입니다. |
PROPERTY_GRAPHS
이 행 필터링 테이블에는 데이터베이스의 속성 그래프가 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할이나 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 이러한 그래프를 정의하는 데 사용된 모든 테이블을 볼 수 있는 요구사항을 충족하는 경우에만 속성 그래프를 볼 수 있습니다.
| 열 이름 | 유형 | 설명 |
|---|---|---|
PROPERTY_GRAPH_CATALOG |
STRING |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
PROPERTY_GRAPH_SCHEMA |
STRING |
스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
PROPERTY_GRAPH_NAME |
STRING |
속성 그래프 이름입니다. |
PROPERTY_GRAPH_METADATA_JSON |
JSON |
JSON 형식의 속성 그래프 정의입니다. |
PROPERTY_GRAPH_METADATA_JSON 열에는 다음과 같이 정의된 PropertyGraph JSON 객체가 포함됩니다.
| JSON 객체 이름 | 필드 이름 | JSON 유형 | 설명 |
|---|---|---|---|
PropertyGraph |
catalog |
string |
카탈로그의 이름입니다. 항상 빈 문자열입니다. |
schema |
string |
스키마의 이름입니다. 이름이 지정되지 않은 경우 빈 문자열입니다. | |
name |
string |
속성 그래프 이름입니다. | |
nodeTables |
array<object> |
노드의 GraphElementTable 객체 목록입니다. |
|
edgeTables |
array<object> |
에지의 GraphElementTable 객체 목록입니다. |
|
labels |
array<object> |
GraphElementLabel 객체 목록입니다. |
|
propertyDeclarations |
array<object> |
GraphPropertyDeclaration 객체 목록입니다. |
|
GraphElementTable |
name |
string |
그래프 요소 테이블 이름입니다. |
kind |
string |
NODE 또는 EDGE. |
|
baseCatalogName |
string |
기본 테이블이 포함된 카탈로그의 이름입니다. | |
baseSchemaName |
string |
기본 테이블이 포함된 스키마의 이름입니다. | |
baseTableName |
string |
요소가 생성되는 입력 테이블의 이름입니다. | |
keyColumns |
array<string> |
요소 키를 구성하는 열 이름입니다. | |
labelNames |
array<string> |
이 요소 표에 연결된 라벨 이름입니다. | |
propertyDefinitions |
array<object> |
GraphPropertyDefinition 객체 목록입니다. |
|
dynamicLabelExpr |
string |
DYNAMIC LABEL 정의가 포함된 열의 이름입니다. |
|
dynamicPropertyExpr |
string |
DYNAMIC PROPERTIES 정의가 포함된 열의 이름입니다. |
|
sourceNodeTable |
object |
GraphNodeTableReference 객체 kind가 EDGE인 경우에만 존재합니다. |
|
destinationNodeTable |
object |
GraphNodeTableReference 객체 kind가 EDGE인 경우에만 존재합니다. |
|
GraphNodeTableReference |
nodeTableName |
string |
그래프 요소 테이블 이름입니다. |
edgeTableColumns |
array<string> |
에지의 소스 키 및 대상 키와 연결된 열의 이름입니다. | |
nodeTableColumns |
array<string> |
노드의 소스 키 및 대상 키와 연결된 열의 이름입니다. | |
GraphElementLabel |
name |
string |
라벨 이름입니다. |
propertyDeclarationNames |
array<string> |
이 라벨과 연결된 속성의 이름입니다. | |
GraphPropertyDeclaration |
name |
string |
속성 이름입니다. |
type |
string |
속성 유형입니다. | |
GraphPropertyDefinition |
propertyDeclarationName |
string |
속성 이름입니다. |
valueExpressionSql |
string |
속성을 정의하는 표현식입니다. |
예시
사용자 스키마의 각 테이블에 대한 정보를 반환합니다.
SELECT
t.table_schema,
t.table_name,
t.parent_table_name
FROM
information_schema.tables AS t
WHERE
t.table_catalog = ''
AND
t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
AND t.table_type = 'BASE TABLE'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name
INFORMATION_SCHEMA에 있는 모든 테이블의 이름을 반환합니다.
SELECT
t.table_name
FROM
information_schema.tables AS t
WHERE
t.table_schema = "SPANNER_SYS"
기본 스키마의 사용자 테이블 MyTable에 있는 열에 대한 정보를 반환합니다.
SELECT
t.column_name,
t.spanner_type,
t.is_nullable
FROM
information_schema.columns AS t
WHERE
t.table_catalog = ''
AND
t.table_schema = ''
AND
t.table_name = 'MyTable'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name,
t.ordinal_position
데이터베이스의 기본 리더 리전 정보를 반환합니다. 기본 리더가 설정되지 않은 경우 빈 값을 반환합니다.
SELECT
s.option_name,
s.option_value
FROM
information_schema.database_options s
WHERE
s.option_name = 'default_leader'
사용자 스키마의 각 색인에 대한 정보를 반환합니다.
SELECT
t.table_schema,
t.table_name,
t.index_name,
t.parent_table_name
FROM
information_schema.indexes AS t
WHERE
t.table_catalog = ''
AND
t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
AND
t.index_type != 'PRIMARY_KEY'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name,
t.index_name
기본값 외의 옵션을 사용하는 모든 열을 반환합니다.
SELECT
t.table_schema,
t.table_name,
t.column_name,
t.option_type,
t.option_value,
t.option_name
FROM
information_schema.column_options AS t
WHERE
t.table_catalog = ''
AND
t.table_schema NOT IN ('information_schema', 'SPANNER_SYS')
현재 옵티마이저 관련 데이터베이스 옵션을 반환합니다.
SELECT
s.option_name,
s.option_value
FROM
information_schema.database_options s
WHERE
s.schema_name=''
AND s.option_name IN ('optimizer_version',
'optimizer_statistics_package')
사용 가능한 모든 통계 패키지를 반환합니다.
SELECT
*
FROM
information_schema.spanner_statistics;
모든 시퀀스를 반환합니다.
SELECT
*
FROM
information_schema.sequences;
이름이 'MySequence'인 시퀀스의 모든 시퀀스 옵션을 반환합니다.
SELECT
*
FROM
information_schema.sequence_options WHERE name="MySequence";
모든 속성 그래프의 이름과 정의를 반환합니다.
SELECT
property_graph_name,
property_graph_metadata_json
FROM
information_schema.property_graphs
모든 속성 그래프 이름을 라벨 및 속성과 함께 반환합니다.
SELECT
property_graph_name,
property_graph_metadata_json.labels,
property_graph_metadata_json.propertyDeclarations
FROM
information_schema.property_graphs
다음 단계
- 데이터베이스 문제를 조사하는 데 도움이 되는 이용 가능한 점검 도구 알아보기