다음을 통해 공유


PostgreSQL

요약

항목 묘사
릴리스 상태 일반 공급
제품 엑셀
Power BI (시맨틱 모델)
Power BI(데이터 흐름)
패브릭(데이터플로우 Gen2)
Power Apps (데이터 흐름)
Dynamics 365 Customer Insights
분석 서비스
지원되는 인증 유형 데이터베이스(사용자 이름/암호)
함수 참조 설명서 PostgreSQL.Database

메모

일부 기능은 한 제품에 있을 수 있지만 배포 일정 및 호스트별 기능으로 인해 다른 기능은 없을 수 있습니다.

필수 구성 요소

2019년 12월부터 Power BI Desktop은 NpgSQL과 함께 배송되며 추가 설치가 필요하지 않습니다. 2024년 10월 릴리스를 기준으로 NpgSQL 4.0.17이 포함된 버전입니다. GAC 설치는 기본값인 Power BI Desktop과 함께 제공되는 버전보다 우선합니다. 새로 고침은 Power BI 서비스의 클라우드를 통해서와 온-프레미스 데이터 게이트웨이를 통해 온-프레미스에서도 지원됩니다. 온-프레미스 데이터 게이트웨이 없이 Power BI 서비스에서 데이터를 새로 고치려면 Azure의 Power BI 서비스에서 직접 연결할 수 있는 방식으로 PostgreSQL을 호스트해야 합니다. Microsoft Azure에서 호스트되는 PostgreSQL에 대해 기본적으로 지원됩니다. 다른 호스팅 환경의 경우 인터넷에서 직접 액세스할 수 있도록 PostgreSQL을 구성하는 방법에 대해 호스팅 공급자에게 문의하세요. PostgreSQL이 인터넷에서 직접 액세스할 수 없도록 구성된 경우(보안에 권장) 새로 고침에 온-프레미스 데이터 게이트웨이를 사용해야 합니다. Power BI 서비스에서는 NpgSQL 4.0.17이 사용되고, 온-프레미스 새로 고침은 NpgSQL의 로컬 설치(사용 가능한 경우)를 사용하고, 그렇지 않으면 NpgSQL 4.0.17을 사용합니다.

2019년 12월 이전에 릴리스된 Power BI Desktop 버전의 경우 로컬 컴퓨터에 NpgSQL 공급자를 설치해야 합니다. NpgSQL 공급자를 설치하려면릴리스 페이지로 이동하여 최신 v4.0.x 버전을 검색하고 .msi 파일을 다운로드하여 실행합니다. 공급자 아키텍처(32비트 또는 64비트)는 커넥터를 사용하려는 제품의 아키텍처와 일치해야 합니다. 설치할 때 NpgSQL GAC 설치를 선택하여 NpgSQL 자체가 컴퓨터에 추가되었는지 확인합니다.

NpgSQL 4.0.17을 사용하는 것이 좋습니다. .NET 버전 비호환성으로 인해 NpgSQL 4.1 이상은 작동하지 않습니다.

Npgsql 설치 관리자에서 GAC 설치가 선택됨.

Power Apps의 경우 로컬 컴퓨터에 NpgSQL 공급자를 설치해야 합니다. NpgSQL 공급자를 설치하려면 릴리스 페이지 이동하여 관련 버전을 다운로드합니다. 설치 관리자(NpgSQL-[버전 번호].msi) 파일을 다운로드한 후 실행합니다. NpgSQL GAC 설치를 선택하고 완료 시 컴퓨터를 다시 시작하여 이 설치가 적용되도록 합니다.

지원되는 기능

  • 수입
  • DirectQuery(Power BI 의미 체계 모델)
  • 고급 옵션
    • 명령 시간 제한(분)
    • 고유 SQL 문
    • 관계 열
    • 전체 계층을 사용하여 탐색

파워 쿼리 데스크톱에서 PostgreSQL 데이터베이스에 연결

일치하는 Npgsql 공급자가 설치되면 PostgreSQL 데이터베이스에 연결할 수 있습니다. 연결을 만들려면 다음 단계를 수행합니다.

  1. 커넥터 선택 영역에서 PostgreSQL 데이터베이스 옵션을 선택합니다.

  2. 표시되는 PostgreSQL 데이터베이스 대화 상자에서 서버 및 데이터베이스의 이름을 제공합니다.

    Power BI에서 PostgreSQL 연결 작성기 .

  3. 가져오기 또는 DirectQuery 데이터 연결 모드를 선택합니다.

  4. 이 데이터베이스에 처음 연결하는 경우 Database 인증 유형의 사용자 이름암호 상자에 PostgreSQL 자격 증명을 입력하십시오. 인증 설정을 적용할 수준을 선택합니다. 그런 다음 연결선택합니다.

    PostgreSQL 사용자 이름 및 암호를 입력합니다.

    인증 방법 사용에 대한 더 많은 정보를 보려면 데이터 원본 인증으로 이동하세요.

    메모

    연결이 암호화되지 않은 경우 다음 메시지가 표시됩니다.

    에 대한 Azure SQL 데이터베이스 암호화 지원.

    확인을 선택하여 암호화되지 않은 연결을 통해 데이터베이스에 연결하거나 데이터베이스 엔진의 암호화 연결 활성화 지침에 따라 PostgreSQL 데이터베이스에 대한 암호화된 연결을 설정하십시오.

  5. 탐색기원하는 데이터베이스 정보를 선택한 다음, 로드 선택하여 데이터를 로드하거나 데이터 변환 파워 쿼리 편집기에서 데이터를 계속 변환합니다.

    PostgreSQL 데이터베이스의 인사 직원 데이터를 보여 주는 파워 쿼리 데스크톱 탐색기입니다.

파워 쿼리 Online에서 PostgreSQL 데이터베이스에 연결

연결을 만들려면 다음 단계를 수행합니다.

  1. 커넥터 선택 영역에서 PostgreSQL 데이터베이스 옵션을 선택합니다.

  2. 표시되는 PostgreSQL 데이터베이스 대화 상자에서 서버 및 데이터베이스의 이름을 제공합니다.

    파워 쿼리 Online에서 PostgreSQL 연결 작성기 .

  3. 사용하려는 온-프레미스 데이터 게이트웨이의 이름을 선택합니다.

  4. 기본 인증 종류를 선택하고 사용자 이름암호 상자에 PostgreSQL 자격 증명을 입력합니다.

  5. 연결이 암호화되지 않은 경우 암호화된 연결사용합니다.

  6. 다음 선택하여 데이터베이스에 연결합니다.

  7. 탐색기필요한 데이터를 선택한 다음, 데이터 변환 선택하여 파워 쿼리 편집기에서 데이터를 변환합니다.

고급 옵션을 사용하여 연결

파워 쿼리 데스크톱은 필요한 경우 쿼리에 추가할 수 있는 고급 옵션 집합을 제공합니다.

PostgreSQL 연결 대화 상자에 포함된 고급 옵션입니다.

다음 표에서는 파워 쿼리 데스크톱에서 설정할 수 있는 모든 고급 옵션을 나열합니다.

고급 옵션 묘사
명령 시간 제한(분) 연결이 10분(기본 시간 제한)보다 오래 지속되는 경우 다른 값을 분 단위로 입력하여 연결을 더 오래 열어 둘 수 있습니다. 이 옵션은 파워 쿼리 데스크톱에서만 사용할 수 있습니다.
SQL 문 정보를 확인하려면 네이티브 데이터베이스 쿼리를 사용하여 데이터베이스에서 데이터를 가져오는 방법으로 이동하십시오.
관계 열 포함 선택한 경우 다른 테이블과 관계가 있을 수 있는 열을 포함합니다. 이 상자가 지워지면 해당 열이 표시되지 않습니다.
전체 계층을 사용하여 탐색 이 옵션을 선택하면 탐색기는 연결하려는 데이터베이스에 있는 테이블의 전체 계층 구조를 표시합니다. 삭제되면 네비게이터는 열과 행에 데이터가 있는 테이블만 표시합니다.

필요한 고급 옵션을 선택한 후 파워 쿼리 데스크톱에서 확인 선택하여 PostgreSQL 데이터베이스에 연결합니다.

네이티브 쿼리 접기

기본적으로 네이티브 쿼리 폴딩은 사용하도록 설정됩니다. 접을 수 있는 작업은 일반 가져오기 또는 직접 쿼리 논리에 따라 네이티브 쿼리 위에 적용됩니다. 네이티브 쿼리 폴딩은 옵션 매개 변수가 있는 경우에는 Value.NativeQuery()에 적용되지 않습니다.

드문 경우지만 네이티브 쿼리 폴딩이 설정된 상태에서 접기가 작동하지 않을 때는 비활성화할 수 있습니다. 네이티브 쿼리 폴딩을 사용하지 않도록 설정하려면 고급 편집기에서 Value.NativeQuery() 값에 대해 EnableFolding 플래그를 false로 설정하세요.

샘플: Value.NativeQuery(target as any, query, null, [EnableFolding=false])

문제 해결

네이티브 쿼리에서 다음 오류가 발생할 수 있습니다.

We cannot fold on top of this native query. Please modify the native query or remove the 'EnableFolding' option.

문제 해결의 기본 단계 중 하나는 Value.NativeQuery() 쿼리가 limit 1 절과 함께 동일한 오류를 발생시키는지 확인하는 것입니다.

select * from (query) _ limit 1