PostgreSQL

이 안내를 사용하는 언어

다음 언어는 이 페이지에 설명된 데이터베이스 설정 요구사항을 공유합니다.

  • PostgreSQL
  • PostgreSQL용 Google Cloud SQL
  • Microsoft Azure PostgreSQL
  • PostgreSQL용 AlloyDB
  • Amazon Aurora PostgreSQL
  • PostgreSQL용 Amazon RDS

PostgreSQL용 Google Cloud SQL의 경우 Looker(Google Cloud 핵심 서비스)는 인증 방법으로 애플리케이션 기본 사용자 인증 정보(ADC)를 제공합니다. 자세한 내용은 Looker(Google Cloud 핵심 서비스) 문서를 참조하세요.

PostgreSQL용 AlloyDB, PostgreSQL용 Amazon RDS, Amazon Aurora PostgreSQL의 경우 Looker에서 통합 지원을 제공합니다. 이러한 언어의 연결을 만들려면 새 연결 페이지의 언어 드롭다운에서 PostgreSQL 9.5 이상을 선택합니다.

PostgreSQL on Heroku은 Heroku 문서를 참조하세요.

네트워크 트래픽 암호화

Looker 애플리케이션과 데이터베이스 사이에 네트워크 트래픽을 암호화하는 것이 가장 좋습니다. 안전한 데이터베이스 액세스 사용 설정 문서 페이지에 설명된 옵션 중 하나를 고려해 보세요.

SSL 암호화를 사용하려면 PostgreSQL 문서를 참조하세요.

사용자 및 보안

데이터베이스에서 작업을 수행하려면 Looker에 데이터베이스에 대한 사용자 계정이 있어야 합니다.

Looker(Google Cloud 핵심 서비스) 인스턴스를 사용하고 있고 ADC를 사용하려면 Cloud SQL 데이터베이스에 추가한 가장된 서비스 계정 사용자 이름을 사용합니다. 서비스 계정 사용자 이름 형식은 service-<project number>@gcp-sa-looker.iam.gserviceaccount.com입니다. 서비스 계정 사용자 이름이 .gserviceaccount.com으로 끝나면 사용자 이름의 .gserviceaccount.com 부분을 삭제합니다. 삭제하면 사용자 이름은 service-<project number>@gcp-sa-looker.iam과 같이 표시됩니다.

Looker에서 사용할 데이터베이스 사용자를 구성하려면 데이터베이스에서 다음 단계를 수행합니다.

  1. 데이터베이스 사용자와 비밀번호를 만듭니다.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Looker가 데이터베이스에서 작업을 수행할 수 있도록 데이터베이스 사용자에게 권한을 부여합니다.

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. public 이외의 스키마를 사용하는 경우 다음 명령어를 실행하여 Looker에 사용 권한을 부여합니다.

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. 공개 스키마에 추가하는 향후 테이블을 Looker 사용자에게도 제공하려면 다음 명령어를 실행합니다.

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

설정에 따라 위의 명령어를 변경해야 할 수 있습니다. 다른 사용자나 역할이 Looker 사용자에게 향후 권한이 필요한 테이블을 만드는 경우 Looker 사용자의 권한 부여를 적용할 대상 역할이나 사용자를 지정해야 합니다.

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

예를 들어 web_app 사용자가 테이블을 만들고 looker 사용자가 이러한 테이블을 사용할 수 있도록 하려면 GRANT 문을 실행하여 looker 사용자에게 테이블에 대한 web_app 사용자 권한을 부여해야 합니다. 이 경우 대상 역할이나 사용자는 web_app 사용자입니다. 즉, looker 사용자가 테이블을 읽을 수 있도록 web_app에서 만든 테이블에 대한 권한을 변경하려고 합니다. 예를 들면 다음과 같습니다.

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

자세한 내용은 PostgreSQL 웹사이트에서 ALTER DEFAULT PRIVILEGES를 참조하세요.

임시 스키마 설정

자체 호스팅 Postgres

Looker 사용자가 소유한 스키마를 만듭니다.

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Amazon RDS의 Postgres

스크래치 스키마를 만듭니다.

CREATE SCHEMA SCHEMA_NAME;

스크래치 스키마 소유권을 Looker 사용자로 변경합니다.

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

search_path 설정

Looker를 데이터베이스에 연결하기 전에 Looker SQL Runner가 데이터베이스에서 특정 메타데이터를 검색하는 데 사용할 수 있는 적절한 search_path를 설정해야 합니다.

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

데이터베이스에 대한 Looker 연결 만들기

다음 단계에 따라 Looker에서 데이터베이스로 이어지는 연결을 만듭니다.

  1. Looker의 관리 섹션에서 연결을 선택한 후 연결 추가를 클릭합니다.
  2. 언어 드롭다운 메뉴에서 데이터베이스 언어 이름을 선택합니다. PostgreSQL용 AlloyDB 언어의 경우 PostgreSQL 9.5 이상을 선택합니다.

  3. 연결 세부정보를 작성합니다. 대다수의 설정은 대부분의 데이터베이스 언어에 공통적으로 적용됩니다. 자세한 내용은 데이터베이스에 Looker 연결 문서 페이지를 참조하세요.

  4. 제대로 연결되었는지 확인하려면 테스트를 클릭합니다. 문제 해결 정보는 데이터베이스 연결 테스트 문서 페이지를 참조하세요.

  5. 이러한 설정을 저장하려면 연결을 클릭합니다.

기능 지원

Looker가 특정 기능을 지원하려면 데이터베이스 언어도 해당 기능을 지원해야 합니다.

PostgreSQL 9.5 이상에서는 Looker 24.10부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
위치 유형
목록 유형
백분위수
고유 백분위수
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
HLL 스케치
아니요
집계 인식
증분 PDT
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
No

Google Cloud PostgreSQL은 Looker 24.10부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
위치 유형
목록 유형
백분위수
고유 백분위수
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
HLL 스케치
아니요
집계 인식
증분 PDT
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
No

Microsoft Azure PostgreSQL은 Looker 24.10부터 다음 기능을 지원합니다.

특성 지원 여부
지원 수준
지원됨
Looker(Google Cloud 핵심 서비스)
대칭 집계
파생 테이블
영구 SQL 파생 테이블
영구 기본 파생 테이블
안정적인 뷰
쿼리 종료
SQL 기반 피벗
시간대
SSL
소계
JDBC 추가 파라미터
대소문자 구분
위치 유형
목록 유형
백분위수
고유 백분위수
SQL Runner 표시 프로세스
SQL Runner 설명 테이블
SQL Runner 표시 색인
SQL Runner 선택 10
SQL Runner 카운트
SQL 설명
OAuth 사용자 인증 정보
아니요
컨텍스트 주석
연결 풀링
HLL 스케치
아니요
집계 인식
증분 PDT
밀리초
마이크로초
구체화된 뷰
아니요
대략적인 고유값
아니요