정보 스키마는 모든 PostgreSQL 데이터베이스에 공통된 기본 제공 스키마입니다. information_schema의 테이블에 대해 SQL 쿼리를 실행하여 데이터베이스의 스키마 메타데이터를 가져올 수 있습니다.
예를 들어 다음 쿼리는 데이터베이스의 모든 사용자 정의 테이블 이름을 가져옵니다.
  SELECT
    table_schema,
    table_name
  FROM
    information_schema.tables
  WHERE
    table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
    AND table_type = 'BASE TABLE'
사용
- information_schema테이블은 다음과 같은 SQL 인터페이스를 통해서만 사용할 수 있습니다.- executeQueryAPI
- gcloud spanner databases execute-sql명령어
- Google Cloud 콘솔의 데이터베이스 쿼리 페이지
 - 다른 단일 읽기 메서드는 - information_schema를 지원하지 않습니다.
- information_schema에 대한 쿼리는 강력, 제한된 비활성 또는 완전 비활성 타임스탬프 경계를 사용할 수 있습니다.
- GoogleSQL 언어 데이터베이스를 사용하는 경우 GoogleSQL 언어 데이터베이스의 정보 스키마를 참조하세요.
PostgreSQL용 information_schema와의 차이점
PostgreSQL 언어 데이터베이스용 information_schema의 테이블에는 오픈소스 PostgreSQL용 information_schema에 있는 테이블의 열이 포함되며 경우에 따라 Spanner의 열도 포함됩니다. 이 테이블에는 오픈소스 PostgreSQL 열이 먼저 오픈소스 PostgreSQL 데이터베이스와 동일한 순서로 나열되고, 그 다음에 Spanner의 모든 고유 열이 추가됩니다. information_schema의 오픈소스 PostgreSQL 버전용으로 작성된 쿼리가 Google Cloud CLI에서 PostgreSQL 언어 데이터베이스를 사용할 때 수정 없이 작동해야 합니다.
PostgreSQL 언어 데이터베이스용 information_schema의 중요한 차이는 다음과 같습니다.
- 오픈소스 PostgreSQL의 일부 테이블 열을 사용할 수 있지만 PostgreSQL 언어 데이터베이스에 채워지지는 않습니다.
- PostgreSQL 언어 데이터베이스에는 기본 스키마 이름으로 public이 사용됩니다.
- 자동 생성된 제약조건 이름에 오픈소스 PostgreSQL 데이터베이스와 다른 형식이 사용됩니다.
- PostgreSQL 언어 데이터베이스에서 지원되지 않는 오픈소스 PostgreSQL 기능과 관련된 테이블은 제공되지 않습니다.
- database_options,- index_columns,- indexes,- spanner_statistics등 Spanner에서 제공하지만 오픈소스 PostgreSQL이 아닌 일부 테이블은 사용할 수 있습니다.
information_schema 테이블 및 뷰에서 행 필터링
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할(또는 이 역할의 구성원)에 대한 액세스 권한이 부여된 주 구성원은 모든 information_schema 테이블 및 뷰의 모든 행을 볼 수 있습니다. 다른 주 구성원의 경우 Spanner는 현재 데이터베이스 역할을 기준으로 행을 필터링합니다. 다음 섹션의 테이블 및 뷰 설명은 Spanner가 각 테이블 및 뷰의 행을 필터링하는 방법을 나타냅니다.
PostgreSQL 언어 데이터베이스용 information_schema의 테이블
information_schema의 테이블과 뷰는 오픈소스 PostgreSQL information_schema에 있는 테이블 및 뷰와 호환됩니다.
다음 섹션에서는 PostgreSQL 언어 데이터베이스에 대한 information_schema의 테이블 및 보기에 대해 설명합니다.
applicable_roles
이 행 필터링 뷰에는 모든 데이터베이스 역할에 명시적으로 부여된 모든 역할 멤버십이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 또는 현재 데이터베이스 역할이 구성원인 역할로 부여된 역할 멤버십만 확인할 수 있습니다.
모든 데이터베이스 역할은 공개 역할의 구성원이므로 결과에서 공개 역할의 암시적 멤버십에 대한 레코드가 생략됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantee | character varying | 멤버십이 부여된 데이터베이스 역할의 이름입니다. | 
| role_name | character varying | 멤버십이 부여된 데이터베이스 역할의 이름입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
change_stream_columns
이 행 필터링 뷰에는 테이블 열과 이를 감시하는 변경 내역에 대한 정보가 포함됩니다. 각 행은 변경 내역 하나와 열 하나를 설명합니다. 변경 내역이 전체 테이블을 추적하면 해당 테이블의 열은 이 뷰에 표시되지 않습니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 권한의 변경 내역에 대한 행만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| change_stream_catalog | character varying | 데이터베이스 이름입니다. | 
| change_stream_schema | character varying | 변경 내역의 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| change_stream_name | character varying | 변경 내역의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블의 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| table_name | character varying | 이 행이 참조하는 테이블의 이름입니다. | 
| column_name | character varying | 이 행이 참조하는 열의 이름입니다. | 
change_stream_options
이 행 필터링 뷰에는 변경 내역의 구성 옵션이 있습니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 권한의 변경 내역에 대한 옵션만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| change_stream_catalog | character varying | 데이터베이스 이름입니다. | 
| change_stream_schema | character varying  | 변경 내역의 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| change_stream_name | character varying | 변경 내역의 이름입니다. | 
| option_name | character varying | 변경 내역 옵션의 이름입니다. | 
| option_type | character varying | 변경 내역 옵션의 데이터 유형입니다. | 
| option_value | character varying | 변경 내역 옵션 값입니다. | 
change_stream_privileges
이 행 필터링 뷰에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역에 대해 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대해 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 변경 내역에 부여된 권한만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 이 권한이 부여된 데이터베이스 역할의 이름입니다. | 
| change_stream_catalog | character varying | 데이터베이스 이름입니다. | 
| change_stream_schema | character varying | 변경 내역이 포함된 스키마의 이름입니다.
                PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| change_stream_name | character varying | 변경 내역의 이름입니다. | 
| privilege_type | character varying | 권한 유형입니다( SELECT만 해당). | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
change_stream_tables
이 행 필터링 뷰에는 테이블 및 이를 감시하는 변경 내역에 대한 정보가 포함됩니다. 각 행은 테이블 1개 및 변경 내역 1개를 설명합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 권한의 변경 내역에 대한 행만 볼 수 있습니다.
change_stream_tables의 데이터에는 전체 데이터베이스를 추적하는 테이블과 변경 내역 간의 암시적 관계가 포함되지 않습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| change_stream_catalog | character varying | 데이터베이스 이름입니다. | 
| change_stream_schema | character varying | 변경 내역의 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| change_stream_name | character varying | 이 행이 참조하는 변경 내역의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블의 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| table_name | character varying | 이 행이 참조하는 테이블의 이름입니다. | 
| all_columns | character varying | 이 행의 변경 내역에서 이 행이 참조하는 테이블 전체를 추적하면 YES입니다. 그 이외의 경우NO를 사용합니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌YES또는NO입니다. | 
change_streams
이 행 필터링 뷰에는 데이터베이스의 모든 변경 내역이 나와 있으며 전체 데이터베이스를 추적하는지 아니면 특정 테이블이나 열을 추적하는지 보여줍니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 세분화된 액세스 제어 권한이 있는 변경 내역만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| change_stream_catalog | character varying | 데이터베이스 이름입니다. | 
| change_stream_schema | character varying | 이 변경 내역의 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| change_stream_name | character varying | 변경 내역의 이름입니다. | 
| all | character varying | 이 변경 내역이 전체 데이터베이스를 추적하면 YES입니다.
    이 변경 내역이 특정 테이블이나 열을 추적하면NO입니다.
    SQL 표준에 따라 이 문자열은 불리언 값이 아닌YES또는NO입니다. | 
check_constraints
CHECK 또는 NOT NULL 키워드로 정의된 확인 제약조건마다 행이 하나씩 check_constraints 뷰에 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| constraint_schema | character varying | 제약조건 스키마의 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| constraint_name | character varying | 제약조건의 이름입니다. 제약조건 이름이 스키마에 명시적으로 지정되지 않았으면 자동 생성된 이름이 사용됩니다. | 
| check_clause | character varying | 확인 제약조건의 표현식입니다. | 
| spanner_state | character varying | 확인 제약조건의 현재 상태입니다. 가능한 상태는 다음과 같습니다. 
 | 
column_column_usage
이 보기에는 동일 테이블의 다른 기본 열에 의존하는 모든 생성된 열이 나열됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블이 포함된 스키마의 이름입니다. 이름은 기본 스키마의 경우 public이고 다른 스키마의 경우 비어 있지 않습니다(예:information_schema자체). 이 열은 null이 아닙니다. | 
| table_name | character varying | 생성된 열이 있는 테이블의 이름입니다. | 
| column_name | character varying | 생성된 열이 종속되는 기본 열의 이름입니다. | 
| dependent_column | character varying | 생성된 열의 이름입니다. | 
column_options
이 뷰에는 외래 키 제약조건의 참조된 테이블 열에 정의된 모든 옵션이 나열됩니다. 이 뷰에는 현재 사용자가 (소유자로서 또는 권한 부여를 통해) 액세스할 수 있는 참조 테이블의 열만 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 외래 테이블이 포함된 스키마의 이름입니다. 이름은 기본 스키마의 경우 public이고 다른 스키마의 경우 비어 있지 않습니다(예:information_schema자체). 이 열은 null이 아닙니다. | 
| table_name | character varying | 외래 테이블의 이름입니다. | 
| column_name | character varying | 열의 이름입니다. | 
| option_name | character varying | 옵션을 고유하게 식별하는 SQL 식별자입니다. 이 식별자는 DDL의 OPTIONS절 키입니다. | 
| option_value | character varying | 이 옵션의 값을 설명하는 SQL 리터럴입니다. 이 열의 값은 쿼리의 일부로 파싱될 수 있습니다. | 
| option_type | character varying | 이 옵션 값의 유형인 데이터 유형 이름입니다. | 
column_privileges
이 행 필터링 뷰에는 public을 포함한 모든 데이터베이스 역할에 대해 모든 열에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. IAM 데이터베이스 수준 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 열에 부여된 권한만 확인할 수 있습니다.
뷰에는 열이 포함된 테이블 또는 뷰에서 열이 상속하는 SELECT, INSERT, UPDATE 권한이 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 이 권한이 부여된 데이터베이스 역할의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블 또는 뷰가 포함된 스키마의 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| table_name | character varying | 열이 포함된 테이블이나 뷰의 이름입니다. | 
| column_name | character varying | 열의 이름입니다. | 
| privilege_type | character varying | 권한 유형( SELECT,INSERT,UPDATE)입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
columns
이 행 필터링 뷰는 데이터베이스의 모든 테이블 열과 뷰 열에 대한 정보를 제공합니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 세분화된 액세스 제어 권한(또는 포함 테이블에 부여된 SELECT, INSERT 또는 UPDATE 권한)이 있는 열만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블이 포함된 스키마의 이름입니다. 이름은 기본 스키마의 경우 public이고 다른 스키마의 경우 비어 있지 않습니다(예:information_schema자체). 이 열은 null이 아닙니다. | 
| table_name | character varying | 테이블의 이름입니다. | 
| column_name | character varying | 열 이름 | 
| ordinal_position | BIGINT | 테이블에서 열의 서수 위치이며 값 1부터 시작합니다. | 
| column_default | character varying | 열의 기본값에 대한 오픈소스 PostgreSQL 표현식의 문자열 표현입니다. 예를 들면 '9'::bigint입니다. | 
| is_nullable | character varying | 이 열에서 null을 사용할 수 있는지를 나타내는 문자열입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES또는NO입니다. | 
| data_type | character varying | 열의 데이터 유형입니다. 값은 다음 중 하나입니다. 
 | 
| character_maximum_length | BIGINT | 문자 및 비트 문자열 데이터 유형의 선언된 최대 길이입니다. 최대 길이가 지정되지 않은 경우 값은 NULL입니다. 열의 데이터 유형이 문자나 비트 문자열이 아니면 값은NULL입니다. | 
| character_octet_length | BIGINT | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_precision | BIGINT | 현재 열의 숫자 데이터 유형 정밀도입니다. double precision의 경우 값은 53입니다.bigint의 경우 값은 64입니다.
      다른 모든 데이터 유형의 경우에는 값이NULL입니다. | 
| numeric_precision_radix | BIGINT | 숫자 유형에 대한 정밀도의 기준(단위)입니다. 다음 두 가지 값만 지원됩니다. 
 NULL입니다. | 
| numeric_scale | BIGINT | radix 포인트 이후 정밀도 기준 단위 수인 숫자 열 유형의 크기를 포함합니다. bigint의 경우 값은 0입니다.
      다른 모든 데이터 유형의 경우에는 값이NULL입니다. | 
| datetime_precision | BIGINT | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| interval_type | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| interval_precision | BIGINT | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| domain_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| domain_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| domain_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| maximum_cardinality | BIGINT | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| dtd_identifier | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_self_referencing | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_identity | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| identity_generation | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| identity_start | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| identity_increment | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| identity_maximum | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| identity_minimum | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| identity_cycle | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_generated | character varying | 열이 생성되는지를 나타내는 문자열입니다. 문자열은 생성 열의 경우 ALWAYS이거나 생성되지 않은 열의 경우NEVER입니다. | 
| generation_expression | character varying | 생성된 열의 SQL 표현식을 나타내는 문자열 또는 열이 생성된 열이 아닌 경우 NULL입니다. | 
| is_updatable | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| spanner_type | character varying | 열의 DDL 호환 유형이 저장되는 문자열입니다. | 
| is_stored | character varying | 생성 열이 저장되는지를 나타내는 문자열입니다.
      문자열은 생성된 열의 경우 항상 YES또는NO이고 생성되지 않은 열의 경우NULL입니다. | 
| spanner_state | character varying | 열의 현재 상태입니다. 기존 테이블에 추가된 새롭게 저장되고 생성된 열은 완전히 사용되기 전에 사용자가 관찰 가능한 여러 상태를 거쳐갈 수 있습니다. 가능한 값은 다음과 같습니다. 
 | 
constraint_column_usage
이 뷰에는 제약조건에 사용되는 각 열에 대한 행 하나가 포함됩니다.
- NOT NULL키워드로 정의된- PRIMARY KEY및- CHECK제약조건의 경우 보기에 해당 열이 포함됩니다.
- CHECK키워드로 생성된- CHECK제약조건의 경우 확인 제약조건 표현식에 사용되는 열이 뷰에 포함됩니다.
- 외래 키 제약조건의 경우 참조된 테이블의 열이 뷰에 포함됩니다.
- UNIQUE제약조건의 경우- KEY_COLUMN_USAGE의 열이 뷰에 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 제약조건에 사용되는 열이 포함된 테이블이 있는 스키마의 이름입니다. | 
| table_name | character varying | 제약조건에 사용되는 열이 포함된 테이블의 이름입니다. | 
| column_name | character varying | 제약조건에 사용되는 열의 이름입니다. | 
| constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| constraint_schema | character varying | 제약조건 스키마의 이름입니다. | 
| constraint_name | character varying | 제약조건의 이름입니다. | 
constraint_table_usage
이 보기에는 제약조건에 사용되는 각 테이블에 대해 하나의 행이 포함됩니다. FOREIGN
KEY 제약조건의 경우 테이블 정보는 REFERENCES 절의 테이블에 대한 정보입니다. 고유 또는 기본 키 제약조건의 경우 이 보기는 제약조건이 포함된 테이블을 식별합니다. 검사 제약조건과 not 아님 제약조건은 이 보기에 포함되지 않습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 제한된 테이블의 스키마 이름입니다. | 
| table_name | character varying | 일부 제약조건에 사용되는 테이블 이름입니다. | 
| constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| constraint_schema | character varying | 제약조건이 포함된 스키마 이름입니다. | 
| constraint_name | character varying | 제약조건의 이름입니다. | 
database_options
이 테이블에는 데이터베이스에 설정된 옵션이 나열됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| catalog_name | character varying | 데이터베이스 이름입니다. | 
| schema_name | character varying | 스키마의 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| option_name | character varying | 데이터베이스 옵션의 이름입니다. DDL의 OPTIONS절에 있는key의 값입니다. | 
| option_type | character varying | 데이터베이스 옵션의 데이터 유형입니다. | 
| option_value | character varying | 데이터베이스 옵션의 값입니다. | 
enabled_roles
이 행 필터링 뷰에는 정의된 데이터베이스 역할이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 모든 데이터베이스 역할을 볼 수 있습니다. 다른 모든 주 구성원은 직접 또는 상속을 통해 액세스 권한을 부여받은 데이터베이스 역할만 볼 수 있습니다. public을 제외한 모든 시스템 역할도 이 뷰에 표시됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| role_name | character varying | 역할의 이름입니다. | 
| spanner_is_system | character varying | 역할이 시스템 역할인 경우는 YES, 그렇지 않으면NO입니다. | 
index_columns
이 뷰에는 색인의 열이 나열됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 색인이 포함된 스키마 이름입니다. 기본값은 public입니다. | 
| table_name | character varying | 색인과 연관된 테이블 이름입니다. | 
| index_name | character varying | 색인의 이름입니다. PRIMARY KEY스펙이 있는 테이블은PRIMARY_KEY라는 이름으로 생성된 유사 색인 항목이 있습니다. | 
| index_type | character varying | 색인의 유형입니다. 가능한 값은 PRIMARY_KEY,LOCAL또는GLOBAL입니다. | 
| column_name | character varying | 열의 이름입니다. | 
| ordinal_position | BIGINT | 색인에서 열의 서수 위치이며 값 1부터 시작합니다. 이 값은 키가 아닌 열(예: 색인의 INCLUDE절에 지정된 열)의NULL입니다. | 
| column_ordering | character varying | 열의 정렬 순서입니다. 값은 키 열의 경우 ASC또는DESC이고 키 열이 아닌(예: 색인의STORING절에 지정된 열) 경우NULL입니다. | 
| is_nullable | character varying | 이 열에서 null을 사용할 수 있는지를 나타내는 문자열입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES또는NO입니다. | 
| spanner_type | character varying | 열의 DDL 호환 유형이 저장되는 문자열입니다. | 
indexes
이 뷰에는 스키마의 색인이 나열됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 스키마의 이름입니다. 기본값은 public입니다. | 
| table_name | character varying | 테이블의 이름입니다. | 
| index_name | character varying | 색인의 이름입니다. PRIMARY KEY절로 생성된 테이블에는 이름이PRIMARY_KEY로 생성된 유사 색인 항목이 있습니다. 이를 통해 기본 키의 필드를 식별할 수 있습니다. | 
| index_type | character varying | 색인의 유형입니다. 값에는 PRIMARY_KEY,LOCAL,GLOBAL이 포함됩니다. | 
| parent_table_name | character varying | 보조 색인 만들기에 설명된 대로 보조 색인은 상위 테이블에서 인터리브 처리될 수 있습니다. 이 열에는 상위 테이블의 이름이 있거나 색인이 인터리브 처리되지 않은 경우에는 빈 문자열이 포함됩니다. | 
| is_unique | character varying | 색인 키가 고유해야 하는지 여부입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES또는NO입니다. | 
| is_null_filtered | character varying | 색인에 NULL값이 있는 항목을 포함하는지 여부입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌YES또는NO입니다. | 
| index_state | character varying | 색인의 현재 상태입니다. 가능한 값과 나타내는 상태는 다음과 같습니다. 
 | 
| spanner_is_managed | character varying | 색인이 Spanner에서 관리되는지 여부입니다. 예를 들어 외래 키의 보조 지원 색인은 Spanner에서 관리합니다. 문자열은 SQL 표준에 따라 불리언 값 대신 YES또는NO입니다. | 
information_schema_catalog_name
이 테이블에는 데이터베이스 이름을 포함하는 하나의 행 및 하나의 열이 포함되어 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| catalog_name | character varying | 데이터베이스 이름입니다. | 
key_column_usage
이 보기는 고유, 기본 키 또는 외래 키 제약조건으로 참조되는 현재 데이터베이스의 모든 열을 식별합니다. CHECK 제약조건 열에 대한 자세한 내용은 check_constraints 보기를 참조하세요.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| constraint_schema | character varying | 제약조건 스키마의 이름입니다. 기본값은 public입니다. | 
| constraint_name | character varying | 제약조건의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 제한된 열이 포함된 테이블을 포함하는 스키마의 이름입니다. 기본값은 public입니다. | 
| table_name | character varying | 이 제약조건으로 제한되는 열을 포함하는 테이블의 이름입니다. | 
| column_name | character varying | 제한된 열의 이름입니다. | 
| ordinal_position | BIGINT | 1값으로 시작하는 제약조건 키 내 열의 서수 위치입니다. | 
| position_in_unique_constraint | BIGINT | FOREIGN KEY의 경우1값으로 시작하는 고유 제약조건 내 열의 서수 위치입니다. 다른 제약조건 유형의 경우 이 열에NULL값이 포함됩니다. | 
parameters
이 행 필터링 뷰는 각 변경 내역 읽기 함수에 대한 인수를 정의합니다. 각 행은 변경 내역 읽기 함수 하나의 인수 하나를 설명합니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public에 대해 EXECUTE 세분화된 액세스 제어 권한이 부여된 변경 내역 읽기 함수에 대한 매개변수만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| specific_catalog | character varying | 데이터베이스 이름입니다. | 
| specific_schema | character varying | 루틴 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| specific_name | character varying | 루틴의 이름입니다. 이름이 오버로드되어도 루틴을 고유하게 식별합니다. | 
| ordinal_position | bigint | 루틴의 인수 목록에 있는 파라미터의 서수 위치이며 값 1부터 시작합니다. | 
| parameter_mode | character varying | 사용되지 않음. 항상 NULL입니다. | 
| is_result | character varying | 사용되지 않음. 항상 NULL입니다. | 
| as_locator | character varying | 사용되지 않음. 항상 NULL입니다. | 
| parameter_name | character varying | 매개변수의 이름입니다. | 
| data_type | character varying | 매개변수의 데이터 유형입니다. 값은 다음 중 하나입니다. 
 
 | 
| character_maximum_length | bigint | 사용되지 않음. 항상 NULL입니다. | 
| character_octet_length | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_precision_radix | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_scale | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| datetime_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| interval_type | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| interval_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| maximum_cardinality | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| dtd_identifier | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| parameter_default | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
placements
이 테이블에는 데이터베이스의 배치가 나열됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| placement_name | character varying | 배치의 이름입니다. | 
| is_default | character varying | 이 열에서 null을 사용할 수 있는지를 나타내는 문자열입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES또는NO입니다. | 
placement-options
이 테이블에는 각 배치에 대한 CREATE PLACEMENT 문의 OPTIONS 절에서 배치에 설정된 옵션이 나와 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| placement_name | character varying | 배치의 이름입니다. | 
| option_name | character varying | 게재위치 옵션의 이름입니다. option_name에 유효한 값은 다음과 같습니다.
 | 
| option_type | character varying | 배치 옵션의 데이터 유형입니다. | 
| option_value | character varying | 배치 옵션의 값입니다. instance_partition의 경우 인스턴스 파티션의 이름입니다.default_leader의 경우 기본 리더 리전의 이름입니다. | 
locality-group-options
이 표에는 CREATE LOCALITY GROUP 문의 OPTIONS 절에서 지역 그룹에 설정된 이름과 옵션이 각 지역 그룹별로 나와 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| locality_group_name | character varying | 지역 그룹 이름입니다. | 
| option_name | character varying | 지역 그룹 옵션 이름입니다. 유효한 옵션은 다음과 같습니다. 
 | 
| option_value | character varying | 지역 그룹 옵션 값입니다. storage의 경우ssd또는hdd입니다.ssd_to_hdd_spill_timespan의 경우 데이터가 HDD 스토리지로 이동하기 전에 SSD에 저장되어야 하는 시간입니다. 예를 들어10d는 10일입니다. 설정할 수 있는 최소 시간은 1시간입니다. | 
referential_constraints
이 뷰에는 각 FOREIGN KEY 제약조건에 대해 하나의 행이 포함됩니다. 참조 테이블에 대해 쓰기 액세스 권한이 있는 제약조건만 볼 수 있습니다. 또한 이 보기는 외래 키에서 제약조건 적용 및 참조 작업을 위해 사용되는 참조 테이블의 PRIMARY KEY 및 UNIQUE 제약조건을 식별합니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| constraint_schema | character varying | 외래 키 제약조건을 포함하는 스키마의 이름입니다. 기본값은 public입니다. | 
| constraint_name | character varying | 외래 키 제약조건의 이름입니다. | 
| unique_constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| unique_constraint_schema | character varying | 외래 키 제약조건이 참조하는 고유 또는 기본 키 제약조건을 포함하는 스키마의 이름입니다. | 
| unique_constraint_name | character varying | 외래 키 제약조건이 참조하는 고유 또는 기본 키 제약조건의 이름입니다. | 
| match_option | character varying | 외래 키 제약조건에 사용되는 일치 메서드입니다. 이 값은 항상 NONE입니다. | 
| update_rule | character varying | 외래 키 제약조건의 업데이트 규칙입니다. 이 값은 항상 NO ACTION입니다. | 
| delete_rule | character varying | 외래 키 제약조건의 삭제 규칙입니다. 이 값은 CASCADE또는NO ACTION입니다. | 
| spanner_state | character varying | 외래 키의 현재 상태입니다. 외래 키의 지원 색인이 생성되고 백필될 때까지 Spanner에서 제약조건 적용이 시작되지 않습니다. 색인이 준비되면 Spanner가 기존 데이터를 검사하는 동안 새 트랜잭션에 대해 제약조건 적용을 시작합니다. 가능한 값과 나타내는 상태는 다음과 같습니다. 
 | 
role_change_stream_grants
이 행 필터링 뷰에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역에 부여된 SELECT 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대해 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할에 대한 변경 내역 및 현재 데이터베이스 역할이 구성원인 역할(public 제외) 에 부여된 권한만 볼 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 이 권한이 부여된 데이터베이스 역할의 이름입니다. | 
| change_stream_catalog | character varying | 데이터베이스 이름입니다. | 
| change_stream_schema | character varying | 변경 내역이 포함된 스키마의 이름입니다.
                PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| change_stream_name | character varying | 변경 내역의 이름입니다. | 
| privilege_type | character varying | 권한 유형입니다( SELECT만 해당). | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
role_column_grants
이 행 필터링 뷰에는 public을 포함한 모든 데이터베이스 역할에 대해 모든 열에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)에 대한 열에 부여된 권한만 확인할 수 있습니다.
뷰에는 열이 포함된 테이블 또는 뷰에서 열이 상속하는 SELECT, INSERT, UPDATE 권한이 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 이 권한이 부여된 데이터베이스 역할의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블 또는 뷰가 포함된 스키마의 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| table_name | character varying | 열이 포함된 테이블이나 뷰의 이름입니다. | 
| column_name | character varying | 열의 이름입니다. | 
| privilege_type | character varying | 권한 유형( SELECT,INSERT,UPDATE)입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
role_routine_grants
이 행 필터링 뷰에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역 읽기 함수에 부여된 EXECUTE 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)에 대한 변경 내역 읽기 함수에 부여된 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 권한이 부여된 역할의 이름입니다. | 
| specific_catalog | character varying | 데이터베이스 이름입니다. | 
| specific_schema | character varying | 루틴 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| specific_name | character varying | 루틴의 이름입니다. 이름이 오버로드되어도 루틴을 고유하게 식별합니다. | 
| routine_catalog | character varying | 데이터베이스 이름입니다. | 
| routine_schema | character varying | 루틴 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| routine_name | character varying | 루틴의 이름입니다. (과부하 시 중복될 수 있습니다.) | 
| privilege_type | character varying | 부여된 권한 유형입니다. 항상 EXECUTE입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
role_table_grants
이 행 필터링 뷰에는 public을 포함하여 모든 데이터베이스 역할에 대한 모든 테이블과 뷰에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대해 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할 및 현재 데이터베이스 역할이 구성원인 역할(public 제외)으로 테이블 및 뷰에 부여된 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 이 권한이 부여된 데이터베이스 역할의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블 또는 뷰가 포함된 스키마의 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| table_name | character varying | 테이블 또는 뷰의 이름입니다. | 
| privilege_type | character varying | 권한 유형( SELECT,INSERT,UPDATE또는DELETE)입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
| with_hierarchy | character varying | 사용되지 않음. 항상 NULL입니다. | 
routine_options
이 행 필터링 뷰에는 정의된 각 변경 내역 읽기 함수의 각 옵션에 대해 하나의 행이 포함됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 EXECUTE 세분화된 액세스 제어 권한의 변경 내역 읽기 함수에 대한 옵션만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| specific_catalog | character varying | 데이터베이스 이름입니다. | 
| specific_schema | character varying | 루틴 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| specific_name | character varying | 루틴의 이름입니다. 이름이 오버로드되어도 루틴을 고유하게 식별합니다. | 
| option_name | character varying | 옵션의 이름입니다. | 
| option_type | character varying | 옵션의 데이터 유형입니다. 값은 다음 중 하나입니다. 
 
 | 
| option_value | character varying | 옵션의 값입니다. | 
routine_privileges
이 행 필터링 뷰에는 public을 포함한 모든 데이터베이스 역할에 대한 모든 변경 내역 읽기 함수에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 변경 내역 읽기 함수에 대한 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 권한이 부여된 역할의 이름입니다. | 
| specific_catalog | character varying | 데이터베이스 이름입니다. | 
| specific_schema | character varying | 루틴 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| specific_name | character varying | 루틴의 이름입니다. 이름이 오버로드되어도 루틴을 고유하게 식별합니다. | 
| routine_catalog | character varying | 데이터베이스 이름입니다. | 
| routine_schema | character varying | 루틴 스키마 이름입니다. 기본값은 public입니다. | 
| routine_name | character varying | 루틴의 이름입니다. (과부하 시 중복될 수 있습니다.) | 
| privilege_type | character varying | 부여된 권한 유형입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
routines
이 행 필터링 뷰에는 데이터베이스의 모든 변경 내역 읽기 함수가 나열됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 EXECUTE 세분화된 액세스 제어 권한의 변경 내역 읽기 함수만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| specific_catalog | character varying | 데이터베이스 이름입니다. | 
| specific_schema | character varying | 루틴 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| specific_name | character varying | 루틴의 이름입니다. 이름이 오버로드되어도 루틴을 고유하게 식별합니다. | 
| routine_catalog | character varying | 데이터베이스 이름입니다. | 
| routine_schema | character varying | 루틴 스키마 이름입니다. | 
| routine_name | character varying | 루틴의 이름입니다. (과부하 시 중복될 수 있습니다.) | 
| routine_type | character varying | 루틴의 유형( FUNCTION또는PROCEDURE)입니다. 항상FUNCTION입니다. | 
| module_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| module_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| module_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| udt_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| data_type | character varying | 루틴 반환 유형입니다. 값은 다음 중 하나입니다. 
 
 | 
| character_maximum_length | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_octet_length | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| character_set_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| collation_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_precision_radix | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| numeric_scale | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| datetime_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| interval_type | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| interval_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| type_udt_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| type_udt_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| type_udt_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| scope_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| maximum_cardinality | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| dtd_identifier | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| routine_body | character varying | 루틴 본문의 유형( SQL또는EXTERNAL)입니다. | 
| routine_definition | character varying | routine_bodySQL에 대한 정의이며 그렇지 않으면 비어 있습니다. | 
| external_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| external_language | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| parameter_style | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_deterministic | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| sql_data_access | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_null_call | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| sql_path | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| schema_level_routine | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| max_dynamic_result_sets | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_user_defined_cast | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_implicitly_invocable | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| security_type | character varying | 루틴 보안 유형입니다. INVOKER만 지원됩니다. | 
| to_sql_specific_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| to_sql_specific_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| to_sql_specific_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| as_locator | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| created | timestamp with time zone | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| last_altered | timestamp with time zone | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| new_savepoint_level | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| is_udt_dependent | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_from_data_type | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_as_locator | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_char_max_length | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_char_octet_length | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_char_set_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_char_set_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_char_set_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_collation_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_collation_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_collation_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_numeric_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_numeric_precision_radix | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_numeric_scale | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_datetime_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_interval_type | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_interval_precision | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_type_udt_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_type_udt_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_type_udt_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_scope_catalog | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_scope_schema | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_scope_name | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_maximum_cardinality | bigint | 사용되지 않음. 이 값은 항상 NULL입니다. | 
| result_cast_dtd_identifier | character varying | 사용되지 않음. 이 값은 항상 NULL입니다. | 
schemata
information_schema.schemata 보기에는 현재 데이터베이스에 있는 각 스키마에 대해 하나의 행이 포함되어 있습니다. 스키마에는 정보 스키마와 public이라는 기본 스키마가 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| catalog_name | character varying | 데이터베이스 이름입니다. | 
| schema_name | character varying | 스키마의 이름입니다. 기본 스키마에서는 public으로 설정되고 이름이 지정된 스키마의 경우 비어 있지 않습니다. | 
| schema_owner | character varying | 스키마 소유자의 이름입니다. | 
| default_character_set_catalog | character varying | 사용되지 않음. | 
| default_character_set_schema | character varying | 사용되지 않음. | 
| default_character_set_name | character varying | 사용되지 않음. | 
| sql_path | character varying | 사용되지 않음. | 
| effective_timestamp | timestamp with timezone | 이 스키마의 모든 데이터가 적용된 타임스탬프입니다. 현재는 기본 스키마에만 사용됩니다. | 
sequences
information_schema.sequences 뷰에는 sequences 메타데이터가 포함됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| sequence_catalog | character varying | 데이터베이스 이름입니다. | 
| sequence_schema | character varying | 시퀀스 스키마 이름입니다. PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| sequence_name | character varying | 시퀀스 이름입니다. | 
| data_type | character varying | 시퀀스에서는 int8만 지원합니다. | 
| numeric_precision | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| numeric_precision_radix | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| numeric_scale | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| start_value | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| minimum_value | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| maximum_value | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| increment | bigint | 사용되지 않음. 값이 항상 `NULL`입니다. | 
| cycle_option | character varying | sequence에서 허용하는 유일한 옵션은no입니다. | 
| sequence_kind | character varying | 시퀀스 종류입니다. 유일하게 허용되는 값은 bit_reversed_positive입니다. | 
| counter_start_value | bigint | 시퀀스 카운터 시작 값입니다. | 
| skip_range_min | bigint | 건너뛴 범위의 최솟값입니다. 설정되지 않으면 이 값은 NULL입니다. | 
| skip_range_max | bigint | 건너뛴 범위의 최댓값입니다. 설정되지 않으면 이 값은 NULL입니다. | 
spanner_statistics
이 테이블에는 사용 가능한 쿼리 최적화 도구 통계 패키지가 나열되어 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| catalog_name | character varying | 데이터베이스 이름입니다. | 
| schema_name | character varying | 스키마의 이름입니다. 기본 스키마 값은 public입니다. | 
| package_name | character varying | 통계 패키지의 이름입니다. | 
| allow_gc | character varying | 통계 패키지가 가비지 컬렉션에서 제외되는지 여부입니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES또는NO입니다. 힌트로 또는 클라이언트 API를 통해 통계 패키지를 참조하려면 먼저 이 속성을NO로 설정해야 합니다. | 
table_constraints
이 뷰에는 현재 사용자가 액세스할 수 있는 테이블에 속하는 모든 제약조건이 포함됩니다(SELECT 제외).
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| constraint_catalog | character varying | 데이터베이스 이름입니다. | 
| constraint_schema | character varying | 제약조건이 포함된 스키마 이름입니다. | 
| constraint_name | character varying | 제약조건의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 제약조건과 연결된 테이블을 포함하는 스키마의 이름입니다. | 
| table_name | character varying | 테이블의 이름입니다. | 
| constraint_type | character varying | 제약조건의 유형입니다. 가능한 값은 다음과 같습니다. 
 | 
| is_deferrable | character varying | 이 값은 항상 NO입니다. | 
| initially_deferred | character varying | 이 값은 항상 NO입니다. | 
| enforced | character varying | 제약조건 적용 여부입니다. 제약조건이 적용되면(특정 상태에 도달한 이후) 쓰기 시 그리고 백그라운드 무결성 확인자 모두에서 검증됩니다. SQL 표준에 따라 이 문자열은 불리언 값이 아닌 YES또는NO입니다. | 
table_privileges
이 행 필터링 뷰에는 public을 포함하여 모든 데이터베이스 역할에 대한 모든 테이블과 뷰에 부여된 모든 세분화된 액세스 제어 권한이 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대해 액세스 권한이 부여된 주 구성원은 이 뷰의 모든 행을 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 테이블 및 뷰에 대한 권한만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| grantor | character varying | 사용되지 않음. 항상 NULL입니다. | 
| grantee | character varying | 이 권한이 부여된 데이터베이스 역할의 이름입니다. | 
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블 또는 뷰가 포함된 스키마의 이름입니다.
                PostgreSQL 언어 데이터베이스의 경우 기본값은 public입니다. | 
| table_name | character varying | 테이블 또는 뷰의 이름입니다. | 
| privilege_type | character varying | 권한 유형( SELECT,INSERT,UPDATE또는DELETE)입니다. | 
| is_grantable | character varying | 사용되지 않음. 항상 NO입니다. | 
| that have_hierarchy | character varying | 사용되지 않음. 항상 NULL입니다. | 
tables
이 행 필터링 뷰에는 현재 데이터베이스에 있는 모든 테이블과 뷰가 나열됩니다.
데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대한 액세스 권한이 부여된 주 구성원은 모든 테이블 및 뷰를 볼 수 있습니다. 다른 모든 주 구성원은 다음 요구사항 중 하나를 충족하는 테이블만 볼 수 있습니다.
- 
    테이블에 대한 SELECT,INSERT,UPDATE또는DELETE세분화된 액세스 제어 권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는public에 부여됩니다.
- SELECT,- INSERT또는- UPDATE권한은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는- public에 대한 테이블 열에 부여됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 테이블 또는 뷰가 포함된 스키마의 이름입니다. | 
| table_name | character varying | 테이블, 뷰 또는 동의어의 이름입니다. | 
| table_type | character varying | 테이블 유형. 가능한 값은 'BASE TABLE', 'VIEW' 또는 'SYNONYM'입니다. | 
| self_referencing_column_name | character varying | 사용되지 않음. | 
| reference_generation | character varying | 사용되지 않음. | 
| user_defined_type_catalog | character varying | 사용되지 않음. | 
| user_defined_type_schema | character varying | 사용되지 않음. | 
| user_defined_type_name | character varying | 사용되지 않음. | 
| is_insertable_into | character varying | 사용되지 않음. | 
| is_typed | character varying | 사용되지 않음. | 
| commit_action | character varying | 사용되지 않음. | 
| parent_table_name | character varying | 이 테이블이 인터리브 처리된 경우 상위 테이블의 이름이고 그렇지 않은 경우 NULL입니다. | 
| on_delete_action | character varying | 인터리브 처리된 테이블의 경우 CASCADE또는NO ACTION으로 설정되고 그렇지 않으면NULL로 설정됩니다. 자세한 내용은 TABLE 문을 참조하세요. | 
| spanner_state | character varying | 테이블의 현재 생성 상태입니다. 참조된 색인의 백필이 필요한 외래 키로 생성될 때와 같이 대량 작업이 포함된 경우에는 테이블이 만들기 중 여러 상태를 통과할 수 있습니다. 가능한 상태는 다음과 같습니다. 
 | 
| interleave_type | character varying | 이 테이블과 인터리브 처리된 테이블 사이의 상위-하위 관계가 있는지 여부입니다. 가능한 값은 다음과 같습니다. 
 | 
| row_deletion_policy_expression | character varying | ROW
      DELETION POLICY를 정의하는 표현식 텍스트가 포함된 문자열입니다. | 
table_synonyms
다음 표에는 테이블의 동의어 정보가 나열됩니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| CATALOG | STRING | 테이블이 포함된 카탈로그의 이름입니다. | 
| SCHEMA | STRING | 테이블이 포함된 스키마의 이름입니다. | 
| TABLE_NAME | STRING | 테이블 이름입니다. | 
| SYNONYM_CATALOG | STRING | 동의어의 카탈로그 이름입니다. | 
| SYNONYM_SCHEMA | STRING | 동의어의 스키마 이름입니다. | 
| SYNONYM_TABLE_NAME | STRING | 동의어의 테이블 이름입니다. | 
views
이 행 필터링 뷰에는 현재 데이터베이스의 모든 뷰가 나열됩니다. 데이터베이스 수준 IAM 권한이 있는 주 구성원 및 spanner_info_reader 시스템 역할 또는 해당 역할의 구성원에 대해 액세스 권한이 부여된 주 구성원은 모든 뷰를 볼 수 있습니다. 다른 모든 주 구성원은 현재 데이터베이스 역할, 현재 데이터베이스 역할이 구성원인 역할 또는 public으로 부여된 SELECT 세분화된 액세스 제어 권한이 있는 뷰만 확인할 수 있습니다.
| 열 이름 | 유형 | 설명 | 
|---|---|---|
| table_catalog | character varying | 데이터베이스 이름입니다. | 
| table_schema | character varying | 스키마의 이름입니다. 기본값은 public입니다. | 
| table_name | character varying | 뷰의 이름입니다. | 
| view_definition | character varying | 뷰를 정의하는 쿼리의 SQL 텍스트. | 
| check_option | character varying | 사용되지 않음. | 
| is_updatable | character varying | 사용되지 않음. | 
| is_insertable_into | character varying | 사용되지 않음. | 
| is_trigger_updatable | character varying | 사용되지 않음. | 
| is_trigger_deletable | character varying | 사용되지 않음. | 
| is_trigger_insertable_into | character varying | 사용되지 않음. | 
| security_type | character varying | 뷰 보안 유형입니다. INVOKER,DEFINER또는 입니다.자세한 내용은 뷰 정보를 참조하세요. | 
예시
사용자 스키마의 각 테이블에 대한 정보를 반환합니다.
SELECT
  t.table_schema,
  t.table_catalog,
  t.table_name,
  t.parent_table_name
FROM
  information_schema.tables AS t
WHERE
  t.table_schema NOT IN ('pg_catalog', 'information_schema', 'SPANNER_SYS')
  AND t.table_type = 'BASE TABLE'
ORDER BY
  t.table_catalog,
  t.table_schema,
  t.table_name
PostgreSQL 언어 데이터베이스의 information_schema에 있는 모든 테이블과 뷰의 이름을 반환합니다.
SELECT table_name
FROM information_schema.tables
WHERE table_schema = "information_schema"
기본 스키마의 사용자 테이블 my_table에 있는 열에 대한 정보를 반환합니다.
SELECT
  t.ordinal_position,
  t.column_name,
  t.data_type,
  t.spanner_type,
  t.is_nullable
FROM
  information_schema.columns AS t
WHERE
  t.table_schema = 'public'
  AND
  t.table_name = 'my_table'
ORDER BY
  t.ordinal_position
현재 데이터베이스의 기본 스키마에 있는 각 색인에 대한 정보를 반환합니다. ```postgresql SELECT t.table_name, t.index_name, t.parent_table_name FROM information_schema.indexes AS t WHERE t.table_schema = 'public' AND t.index_type != 'PRIMARY_KEY' ORDER BY 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_schema = 'public'
ORDER BY
  t.table_schema,
  t.table_name,
  t.column_name,
  t.option_name
현재 옵티마이저 관련 데이터베이스 옵션을 반환합니다.
SELECT
  s.option_name,
  s.option_value
FROM
  information_schema.database_options s
WHERE
  s.schema_name='public'
  AND s.option_name IN ('optimizer_version',
    'optimizer_statistics_package')
사용 가능한 모든 통계 패키지를 반환합니다.
SELECT *
FROM information_schema.spanner_statistics;
다음 단계
- 데이터베이스 문제를 조사하는 데 도움이 되는 이용 가능한 점검 도구 알아보기