PostgreSQL에 연결

PostgreSQL 데이터베이스를 데이터 스튜디오에 연결하여 데이터를 시각화하고 분석할 수 있습니다. PostgreSQL 커넥터를 사용하여 데이터를 대화형 대시보드 및 보고서로 변환합니다. 그런 다음 데이터베이스에 직접 액세스할 수 없는 팀 또는 이해관계자와 통계를 공유할 수 있습니다.

지원되는 버전

데이터 스튜디오는 다음 PostgreSQL 버전에서 테스트되었습니다.

  • 9.6
  • 10
  • 11
  • 12
  • 13
  • 14

지원되는 버전을 사용하는 동안 문제가 발생하는 경우 데이터 스튜디오 커뮤니티를 통해 Google에 알려주세요. Issue Tracker에서 기능 요청을 추가하고 이에 투표할 수도 있습니다.

PostgreSQL에 연결하는 방법

PostgreSQL 커넥터는 PostgreSQL JDBC 드라이버를 사용하여 데이터 스튜디오 데이터 소스를 단일 PostgreSQL 데이터베이스 테이블 또는 사용자가 제공하는 커스텀 쿼리에 연결합니다.

PostgreSQL 데이터베이스에 연결하려면 다음 단계를 따르세요.

  1. 데이터 스튜디오에 로그인합니다.
  2. 데이터 스튜디오 홈페이지에서 만들기를 클릭한 다음 데이터 소스를 선택합니다.
  3. PostgreSQL 커넥터를 선택합니다.
  4. 메시지가 표시되면 데이터 스튜디오에서 내 데이터에 액세스할 수 있도록 승인합니다.
  5. 연결 옵션 중 하나를 사용하여 데이터베이스 액세스를 구성합니다.
  6. AUTHENTICATE을 클릭합니다. 해당 데이터베이스의 테이블 목록이 표시됩니다.
  7. 목록에서 표를 선택하거나 커스텀 쿼리를 입력합니다.
  8. 연결을 클릭합니다.

이제 테이블의 모든 열을 보고서의 필드로 액세스할 수 있습니다.

연결 옵션

호스트 이름 또는 IP 주소를 사용하여 연결

연결 패널에서 기본을 선택합니다. 연결 세부정보를 입력합니다.

  • 호스트 이름 또는 IP 주소
  • 포트 (선택사항)
  • 데이터베이스
  • 사용자 이름
  • 비밀번호

JDBC URL을 사용하여 연결

연결 패널에서 JDBC URL을 선택합니다. 연결 세부정보를 입력합니다.

  • JDBC URL
    • 예시 jdbc:postgresql://HOSTNAME[:PORT]/DATABASE_NAME

    • Cloud SQL (비공개 IP) jdbc:google:postgresql://< var>INSTANCE_CONNECTION_NAME/DATABASE_NAME

  • 사용자 이름
  • 비밀번호

IPv6 리터럴 주소를 사용하여 연결하려면 주소를 대괄호로 묶습니다. 예를 들면 다음과 같습니다. jdbc:postgresql://[2001:db8:1:1:1:1:1:1]/your_db

SSL을 사용하여 연결

데이터 스튜디오는 전송 계층 보안 (TLS) 프로토콜 (TLS 1.2)을 사용하여 서버에 대한 보안 (암호화된) 연결을 지원합니다. TLS는 보안 소켓 레이어 (SSL)라고도 합니다.

보안 연결을 사용 설정하려면 SSL 사용 설정을 선택한 다음 SSL 구성 파일을 제공합니다.

클라이언트 인증을 사용하여 연결

클라이언트 인증 사용 설정 체크박스를 선택하면 데이터베이스 액세스 권한이 필요한 경우 클라이언트 비공개 키 및 클라이언트 인증서를 업로드할 수 있습니다.

PostgreSQL 보안 연결 자세히 알아보기

커스텀 쿼리

단일 표에 연결하는 대신 SQL 쿼리를 제공하려면 맞춤 쿼리 옵션을 선택하세요. 데이터 스튜디오는 이 맞춤 SQL을 생성된 각 데이터베이스 쿼리의 내부 SELECT 문으로 사용합니다.

커스텀 SQL 쿼리에는 단일 문만 포함할 수 있습니다. 예를 들어 다음과 같이 여러 SQL 문이 포함되면 작동하지 않습니다.


DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;

SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;

데이터 스튜디오의 쿼리는 3~5분 후에 타임아웃될 수 있습니다. 맞춤 쿼리가 제한 시간을 초과하면 다음 방법으로 문제를 해결해 보세요.

  • 쿼리를 간소화해 쿼리 실행 속도를 단축합니다.
  • 데이터베이스에서 쿼리를 실행하고 결과를 별도의 테이블에 저장합니다. 데이터 소스의 새 표를 연결합니다.

지원되는 데이터 유형

PostgreSQL 커넥터는 다음 데이터 유형을 지원합니다.

  • 숫자
  • 문자 기반이란
  • 불리언
  • 날짜/시간 (간격 제외)

데이터 스튜디오는 지원되지 않는 유형의 열이 있을 경우 이 열에 대한 필드를 만들지 않습니다.

PostgreSQL 데이터 유형에 대해 자세히 알아보기

공개 및 비공개 연결

데이터 스튜디오는 Cloud SQL의 PostgreSQL에 대한 공개 및 비공개 IP 연결을 모두 지원합니다.

비공개 IP를 사용하여 PostgreSQL용 Cloud SQL 인스턴스에 연결하려면 다음 요구사항을 확인하세요.

  • Identity and Access Management (IAM) 권한: Cloud SQL 인스턴스가 포함된 Google Cloud프로젝트에 Cloud SQL 클라이언트(roles/cloudsql.client) IAM 역할을 부여합니다. 데이터 스튜디오에서 연결을 인증하는 사용자 계정 또는 데이터 소스의 사용자 인증 정보 소유자에게 이 역할을 부여해야 합니다. 데이터 소스에서 보기 권한 사용자의 사용자 인증 정보를 사용하는 경우 각 보고서 보기 권한 사용자에게 이 역할을 부여합니다.
  • 인스턴스 설정: Cloud SQL 인스턴스 설정에서 Google Cloud 서비스의 비공개 경로 옵션을 선택합니다.
  • JDBC URL: 연결 패널에서 JDBC URL 연결 옵션을 선택하고 다음 형식으로 연결 문자열을 입력합니다.

    jdbc:google:postgresql://INSTANCE_CONNECTION_NAME/DATABASE_NAME

    다음을 바꿉니다.

    • INSTANCE_CONNECTION_NAME: PROJECT_ID:REGION:INSTANCE_ID 형식의 인스턴스 연결 이름
    • DATABASE_NAME: PostgreSQL 데이터베이스의 이름

    예를 들면 다음과 같습니다.

    jdbc:google:postgresql://my-project:us-central1:my-instance/my-db

    연결 문자열에 조직 이름이나 조직 ID를 프리픽스로 추가하지 말고 URL에서 공백을 삭제합니다.

방화벽 및 데이터베이스 액세스

데이터 스튜디오가 방화벽으로 보호되는 데이터베이스에 연결하고 데이터베이스를 쿼리할 수 있도록 하려면 다음 IP 주소 중 하나에 대한 액세스를 허용해야 합니다. 이 주소로부터의 트래픽을 수락하도록 데이터베이스를 구성해야 할 수도 있습니다. 이 작업을 실행하는 방법은 특정 데이터베이스의 문서를 참고하세요.

IP 주소

다음 주소는 데이터 스튜디오의 전역 인프라에 예약되어 있습니다.

  • 142.251.74.0/23

  • 2001:4860:4807::/48 (선택사항, IPv6를 지원하는 플랫폼의 경우)

데이터 스튜디오 Pro 구독에 데이터 레지던시를 사용 설정한 경우 다음 주소를 대신 사용하세요.

  • 142.251.56.0/24

  • 2001:4860:4815::/48 (선택사항, IPv6를 지원하는 플랫폼의 경우)

PostgreSQL 커넥터의 제한사항

  • PostgreSQL 커넥터는 Cloud SQL PostgreSQL 인스턴스에 연결할 때 Cloud SQL 프록시를 사용하지 않습니다. 공개 IP를 사용하여 Cloud SQL PostgreSQL 인스턴스에 연결하는 경우 나열된 IP를 승인된 네트워크 목록에 추가해야 합니다. Cloud SQL 문서를 참조하세요.

  • AlloyDB는 인증 기관 (CA) 인증서 내보내기를 지원하지 않으므로 SSL을 통한 AlloyDB 데이터 소스 연결은 지원되지 않습니다.

  • public 스키마 외부의 테이블 선택은 지원되지 않습니다. 대신 맞춤 쿼리 옵션을 선택하여 모든 스키마의 테이블이 포함된 쿼리를 작성할 수 있습니다.

  • 이 커넥터를 사용하여 쿼리당 최대 150,000개의 행을 쿼리할 수 있습니다. 이 한도를 초과하면 데이터가 잘립니다.

  • 열 헤더 (필드 이름)는 ASCII 문자만 사용해야 합니다. 비 ASCII 문자는 지원되지 않습니다.

문제 해결

일반적인 오류 메시지 목록과 오류 해결 단계는 데이터 스튜디오 문제 해결 가이드를 참고하세요.

데이터 소스 만들기