PostgreSQL

요약

항목 설명
릴리스 상태 일반 공급
제품 Excel
Power BI(의미 체계 모델)
Power BI(데이터 흐름)
패브릭(데이터 흐름 Gen2)
Power Apps(데이터 흐름)
Dynamics 365 Customer Insights
Analysis Services
지원되는 인증 유형 데이터베이스(사용자 이름/암호)
함수 참조 설명서 PostgreSQL.Database

참고 항목

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

필수 조건

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

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

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

GAC 설치가 선택된 Npgsql 설치 관리자입니다.

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. 이 데이터베이스에 처음 연결하는 경우 데이터베이스 인증 유형의 사용자 이름 및 암호 상자에 PostgreSQL 자격 증명 입력합니다. 인증 설정을 적용할 수준을 선택합니다. 그런 다음 연결을 선택합니다.

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

    인증 방법을 사용하는 방법에 대한 자세한 내용은 데이터 원본을 사용한 인증으로 이동하세요.

    참고 항목

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

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

    암호화되지 않은 연결을 사용하여 데이터베이스에 연결하려면 확인을 선택하거나 데이터베이스 엔진 암호화된 연결 사용의 지침에 따라 PostgreSQL 데이터베이스에 대한 암호화된 연결을 설정합니다.

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

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

파워 쿼리 Online에서 PostgreSQL 데이터베이스로 커넥트

연결을 설정하려면 다음 단계를 수행합니다.

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

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

    파워 쿼리 온라인의 PostgreSQL 연결 작성기입니다.

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

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

  5. 연결이 암호화되지 않은 경우 암호화된 연결 사용의 선택을 취소합니다.

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

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

고급 옵션을 사용하여 연결

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

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

다음 표에는 파워 쿼리 Desktop에서 설정할 수 있는 모든 고급 옵션이 나열되어 있습니다.

고급 옵션 설명
명령 시간 제한(분) 연결이 10분 이상 지속되는 경우(기본 시간 제한) 다른 값을 분 단위로 입력하여 연결을 더 오래 열어 둘 수 있습니다. 이 옵션은 파워 쿼리 Desktop에서만 사용할 수 있습니다.
SQL statement 자세한 내용은 네이티브 데이터베이스 쿼리를 사용하여 데이터베이스에서 데이터 가져오기를 참조하세요.
관계 열 포함 선택하면 다른 테이블과 관계가 있을 수 있는 열을 포함합니다. 이 상자를 선택 취소하면 해당 열이 표시되지 않습니다.
전체 계층 구조를 사용하여 탐색 선택하면 탐색기는 연결 중인 데이터베이스의 전체 테이블 계층을 표시합니다. 선택을 취소하면 탐색기는 열과 행에 데이터가 포함된 테이블만 표시합니다.

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

네이티브 쿼리 접기

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

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

샘플: 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 동일한 오류를 throw하는 경우 검사 것입니다.

select * from (query) _ limit 1