แชร์ผ่าน


PostgreSQL

Summary

Item Description
สถานะการเผยแพร่ ความพร้อมใช้งานทั่วไป
Products Excel
Power BI (แบบจําลองความหมาย)
Power BI (กระแสข้อมูล)
ผ้า (กระแสข้อมูลรุ่น 2)
Power Apps (กระแสข้อมูล)
Dynamics 365 Customer Insights
Analysis Services
ชนิดการรับรองความถูกต้องที่ได้รับการสนับสนุน ฐานข้อมูล (ชื่อผู้ใช้/รหัสผ่าน)
บัญชี Microsoft (Microsoft Entra ID)
เอกสารอ้างอิงฟังก์ชัน PostgreSQL.Database

Note

ความสามารถบางอย่างอาจมีอยู่ในผลิตภัณฑ์เดียว แต่ไม่ใช่อย่างอื่นเนื่องจากตารางเวลาการปรับใช้และความสามารถเฉพาะของโฮสต์

Prerequisites

Power BI Desktop ได้รวมตัวให้บริการ Npgsql สําหรับตัวเชื่อมต่อ PostgreSQL ตั้งแต่เดือนธันวาคม 2019 ซึ่งไม่จําเป็นต้องติดตั้งเพิ่มเติม เริ่มต้นด้วยเวอร์ชันเดือนตุลาคม 2024 จะรวม Npgsql เวอร์ชัน 4.0.17 การติดตั้ง Npgsql GAC ที่แยกต่างหากจะแทนที่เวอร์ชันเริ่มต้นนี้

ตัวเชื่อมต่อ PostgreSQL ได้รับการสนับสนุนสําหรับการเชื่อมต่อระบบคลาวด์และผ่านเกตเวย์ข้อมูล VNet หรือเกตเวย์ข้อมูลภายในองค์กร ตั้งแต่การเผยแพร่เดือนมิถุนายน 2025 เกตเวย์ข้อมูลภายในองค์กรมีผู้ให้บริการ Npgsql ดังนั้นจึงไม่จําเป็นต้องติดตั้งเพิ่มเติม การติดตั้ง Npgsql GAC ที่แยกต่างหากจะแทนที่เวอร์ชันเริ่มต้นนี้

สําหรับเวอร์ชัน Power BI Desktop ที่เผยแพร่ก่อนเดือนธันวาคม 2019 และเกตเวย์ข้อมูลภายในองค์กรที่เผยแพร่ก่อนเดือนมิถุนายน 2025 คุณต้องติดตั้งผู้ให้บริการ Npgsql บนเครื่องของคุณเพื่อใช้ตัวเชื่อมต่อ PostgreSQL เมื่อต้องการติดตั้งผู้ให้บริการ Npgsql ให้ไปที่ หน้ารุ่นสําหรับ รุ่น 4.0.17 ดาวน์โหลดและเรียกใช้ไฟล์ .msi สถาปัตยกรรมของผู้ให้บริการ (32 บิต หรือ 64 บิต) จําเป็นต้องตรงกับสถาปัตยกรรมของผลิตภัณฑ์ที่คุณต้องการใช้ตัวเชื่อมต่อ เมื่อติดตั้งตรวจสอบให้แน่ใจว่าคุณเลือก การติดตั้ง Npgsql GAC เพื่อให้แน่ใจว่ามีการเพิ่ม Npgsql ลงในเครื่องของคุณ Npgsql 4.1 ขึ้นไปไม่ได้รับการสนับสนุนเนื่องจากความไม่เข้ากันเวอร์ชัน .NET

สกรีนช็อตของตัวติดตั้ง Npgsql พร้อมการติดตั้ง GAC ที่เลือก

รองรับความสามารถแล้ว

  • Import
  • DirectQuery (แบบจําลองความหมายของ Power BI)
  • ตัวเลือกขั้นสูง
    • คําสั่งหมดเวลาเป็นนาที
    • คําสั่ง SQL แบบเนทีฟ
    • คอลัมน์ความสัมพันธ์
    • นําทางโดยใช้ลําดับชั้นแบบเต็ม

เชื่อมต่อกับฐานข้อมูล PostgreSQL จาก Power Query Desktop

เมื่อติดตั้งตัวให้บริการ Npgsql ที่ตรงกันแล้ว คุณสามารถเชื่อมต่อกับฐานข้อมูล PostgreSQL ได้ เมื่อต้องทําการเชื่อมต่อ ทําตามขั้นตอนต่อไปนี้:

  1. เลือกตัวเลือก ฐานข้อมูล PostgreSQL ในการเลือกตัวเชื่อมต่อ สําหรับข้อมูลเพิ่มเติม ไปที่ สถานที่รับข้อมูล

  2. ในกล่องโต้ตอบ ฐานข้อมูล PostgreSQL ที่ปรากฏขึ้น ให้ระบุชื่อของเซิร์ฟเวอร์และฐานข้อมูล

    สกรีนช็อตของตัวสร้างการเชื่อมต่อ PostgreSQL ใน Power BI

  3. เลือกโหมดการเชื่อมต่อข้อมูล นําเข้า หรือ DirectQuery

  4. ถ้าคุณกําลังเชื่อมต่อกับฐานข้อมูลนี้เป็นครั้งแรก ให้เลือกชนิดการรับรองความถูกต้องที่คุณต้องการใช้ แล้วใส่ข้อมูลประจําตัวของคุณ ชนิดการรับรองความถูกต้องที่พร้อมใช้งานคือ:

    • ฐานข้อมูล (ชื่อผู้ใช้และรหัสผ่าน)
    • บัญชี Microsoft (Microsoft Entra ID)

    สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับรองความถูกต้อง ไปที่ การรับรองความถูกต้องด้วยแหล่งข้อมูล

    ภาพหน้าจอของกล่องโต้ตอบการรับรองความถูกต้องที่คุณป้อนชื่อผู้ใช้และรหัสผ่าน PostgreSQL ของคุณ

  5. ถ้าการเชื่อมต่อไม่ได้ถูกเข้ารหัสลับ คุณจะได้รับพร้อมท์ด้วยข้อความต่อไปนี้

    สกรีนช็อตของกล่องโต้ตอบการสนับสนุนการเข้ารหัสลับฐานข้อมูล Azure SQL

    เลือก ตกลง เพื่อเชื่อมต่อกับฐานข้อมูลโดยใช้การเชื่อมต่อที่ไม่ได้เข้ารหัสลับ หากต้องการการเชื่อมต่อที่เข้ารหัส ต้องตั้งค่าเซิร์ฟเวอร์ PostgreSQL เพื่อรองรับการเชื่อมต่อ SSL (ไปที่ เอกสารประกอบ PostgreSQL สําหรับคําแนะนํา) เมื่อเสร็จแล้ว เครื่องของคุณอาจต้องติดตั้งใบรับรอง SSL ของเซิร์ฟเวอร์ PostgreSQL ลงใน Trusted Root Certification Authority

  6. ในตัว นําทาง ให้เลือกข้อมูลฐานข้อมูลที่คุณต้องการ จากนั้นเลือก โหลด เพื่อโหลดข้อมูล หรือ แปลงข้อมูล เพื่อแปลงข้อมูลในตัวแก้ไข Power Query ต่อไป

    ภาพหน้าจอของตัวนําทาง Power Query Desktop ที่แสดงข้อมูลพนักงานฝ่ายทรัพยากรบุคคลในฐานข้อมูล PostgreSQL

เชื่อมต่อกับฐานข้อมูล PostgreSQL จาก Power Query Online

เมื่อต้องทําการเชื่อมต่อ ทําตามขั้นตอนต่อไปนี้:

  1. เลือกตัวเลือก ฐานข้อมูล PostgreSQL ในการเลือกตัวเชื่อมต่อ สําหรับข้อมูลเพิ่มเติม ไปที่ สถานที่รับข้อมูล

  2. ในกล่องโต้ตอบ ฐานข้อมูล PostgreSQL ที่ปรากฏขึ้น ให้ระบุชื่อของเซิร์ฟเวอร์และฐานข้อมูล

    ตัวสร้างการเชื่อมต่อ PostgreSQL ใน Power Query Online

  3. เลือกชื่อของเกตเวย์ข้อมูลภายในองค์กรที่คุณต้องการใช้

  4. เลือกชนิดการรับรองความถูกต้องพื้นฐาน และป้อนข้อมูลประจําตัว PostgreSQL ของคุณในกล่อง ชื่อผู้ใช้ และ รหัสผ่าน

  5. ถ้าการเชื่อมต่อของคุณไม่ได้เข้ารหัสลับ ให้ล้าง ใช้การเชื่อมต่อที่เข้ารหัสลับ

  6. เลือก ถัดไป เพื่อเชื่อมต่อกับฐานข้อมูล

  7. ในตัว นําทาง ให้เลือกข้อมูลที่คุณต้องการ จากนั้นเลือก แปลงข้อมูล เพื่อแปลงข้อมูลในตัวแก้ไข Power Query

เชื่อมต่อโดยใช้ตัวเลือกขั้นสูง

Power Query Desktop มีชุดของตัวเลือกขั้นสูงที่คุณสามารถเพิ่มลงในคิวรีของคุณได้ถ้าจําเป็น

สกรีนช็อตของตัวเลือกขั้นสูงที่รวมอยู่ในกล่องโต้ตอบการเชื่อมต่อ PostgreSQL

ตารางต่อไปนี้แสดงรายการของตัวเลือกขั้นสูงทั้งหมดที่คุณสามารถตั้งค่าใน Power Query Desktop

ตัวเลือกขั้นสูง Description
คําสั่งหมดเวลาเป็นนาที ถ้าการเชื่อมต่อของคุณใช้เวลานานกว่า 10 นาที (ค่าเริ่มต้นการหมดเวลา) คุณสามารถใส่ค่าอื่นเป็นนาทีเพื่อให้การเชื่อมต่อเปิดได้นานขึ้น ตัวเลือกนี้จะพร้อมใช้งานใน Power Query Desktop เท่านั้น
คําสั่ง SQL สําหรับข้อมูล ไปที่ นําเข้าข้อมูลจากฐานข้อมูลโดยใช้คิวรีฐานข้อมูลดั้งเดิม
รวมคอลัมน์ความสัมพันธ์ ถ้าเลือก จะมีคอลัมน์ที่อาจมีความสัมพันธ์กับตารางอื่น ถ้ากล่องนี้ถูกล้าง คอลัมน์เหล่านั้นจะไม่แสดง
นําทางโดยใช้ลําดับชั้นแบบเต็ม ถ้าเลือกตัวนําทางจะแสดงลําดับชั้นที่สมบูรณ์ของตารางในฐานข้อมูลที่คุณกําลังเชื่อมต่อ ถ้าล้างตัวนําทางจะแสดงเฉพาะตารางที่มีคอลัมน์และแถวที่มีข้อมูล

เมื่อคุณเลือกตัวเลือกขั้นสูงที่คุณต้องการแล้ว ให้เลือก ตกลง ใน Power Query Desktop เพื่อเชื่อมต่อกับฐานข้อมูล PostgreSQL ของคุณ

การพับคิวรีในระบบของฐานข้อมูล

ตามค่าเริ่มต้น จะเปิดใช้งานการพับคิวรีในระบบ การดําเนินการที่สามารถพับได้จะถูกนําไปใช้ที่ด้านบนของคิวรีดั้งเดิมของคุณตามตรรกะการนําเข้าหรือ Direct Query ปกติ การพับคิวรีดั้งเดิมไม่สามารถใช้ได้กับพารามิเตอร์เพิ่มเติมที่มีอยู่ใน Value.NativeQuery

ในกรณีที่หาได้ยากที่การพับใช้ไม่ได้กับการเปิดใช้งานการพับคิวรีแบบเนทีฟ คุณสามารถปิดใช้งานได้ เมื่อต้องการปิดใช้งานการพับคิวรีดั้งเดิม ให้ตั้งค่า EnableFolding สถานะเป็น falseสําหรับ Value.NativeQuery ในตัวแก้ไขขั้นสูง

ตัวอย่าง: Value.NativeQuery(target as any, query, null, [EnableFolding=false])

Troubleshooting

คิวรีดั้งเดิมของคุณอาจแสดงข้อผิดพลาดต่อไปนี้:

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