정보 스키마는 모든 Spanner 데이터베이스에 공통된 기본 제공 스키마입니다. INFORMATION_SCHEMA
의 테이블에 대해 SQL 쿼리를 실행하여 데이터베이스의 스키마 메타데이터를 가져올 수 있습니다.
예를 들어 다음 쿼리는 데이터베이스의 모든 사용자 정의 테이블 이름을 가져옵니다.
SELECT
table_name
FROM
information_schema.tables
WHERE
table_schema = ''
세분화된 액세스 제어 사용자에게 데이터베이스 역할에 따라 일부 INFORMATION_SCHEMA
테이블에 대한 필터링된 결과가 표시됩니다. 자세한 내용은 세분화된 액세스 제어 정보를 참조하세요.
사용
INFORMATION_SCHEMA
테이블은 다음과 같은 SQL 인터페이스를 통해서만 사용할 수 있습니다.
executeQuery
APIgcloud spanner databases execute-sql
명령어- Google Cloud 콘솔의 데이터베이스 Spanner 스튜디오 페이지
다른 단일 읽기 메서드는 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_partition
default_leader
열 이름 | 유형 | 설명 |
---|---|---|
PLACEMENT_NAME |
STRING |
배치의 이름입니다. |
OPTION_NAME |
STRING |
배치 옵션의 이름입니다. |
OPTION_TYPE |
STRING |
배치 옵션의 데이터 유형입니다. 두 옵션 모두 STRING(MAX) 입니다. |
OPTION_VALUE |
STRING |
배치 옵션의 값입니다. instance_partition 의 경우 인스턴스 파티션의 이름입니다. default_leader 의 경우 기본 리더 리전의 이름입니다. |
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 입니다. |
SPANNER_STATE |
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 |
항상 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 |
제한된 열의 스키마 이름입니다. 이 열은 null이 아닙니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
TABLE_NAME |
STRING |
제한된 열의 테이블 이름입니다. |
COLUMN_NAME |
STRING |
열의 이름입니다. |
ORDINAL_POSITION |
INT64 |
1 값으로 시작하는 제약조건 키 내 열의 서수 위치입니다. |
POSITION_IN_UNIQUE_CONSTRAINT |
INT64 |
FOREIGN KEY s에 대해 1 값으로 시작하는 고유 제약조건 내 열의 서수 위치입니다. 다른 제약조건 유형의 경우 이 열은 null입니다. |
CONSTRAINT_COLUMN_USAGE
이 테이블에는 제약조건에 사용되는 각 열에 대한 행 하나가 포함됩니다. FOREIGN KEY
제약조건의 참조되는 열 외에도 PRIMARY KEY
및 UNIQUE
열이 포함됩니다.
열 이름 | 유형 | 설명 |
---|---|---|
TABLE_CATALOG |
STRING |
열 테이블의 카탈로그 이름입니다. 항상 빈 문자열입니다. |
TABLE_SCHEMA |
STRING |
열 테이블의 스키마 이름입니다. 이 열은 null이 아닙니다. 이름이 지정되지 않은 경우 빈 문자열입니다. |
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 |
매개변수의 데이터 유형입니다. |
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 객체 목록입니다. |
|
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_name,
t.parent_table_name
FROM
information_schema.tables AS t
WHERE
t.table_catalog = ''
AND
t.table_schema = ''
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_name,
t.index_name,
t.parent_table_name
FROM
information_schema.indexes AS t
WHERE
t.table_catalog = ''
AND
t.table_schema = ''
AND
t.index_type != 'PRIMARY_KEY'
ORDER BY
t.table_catalog,
t.table_schema,
t.table_name,
t.index_name
기본값 외의 옵션을 사용하는 모든 열을 반환합니다.
SELECT
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 = ''
현재 옵티마이저 관련 데이터베이스 옵션을 반환합니다.
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
다음 단계
- 데이터베이스 문제를 조사하는 데 도움이 되는 이용 가능한 점검 도구 알아보기