Thep Excel

PostgreSQL.Databaseเชื่อมต่อฐานข้อมูล PostgreSQL

PostgreSQL.Database ใช้สำหรับเชื่อมต่อฐานข้อมูล PostgreSQL และดึงรายชื่อตารางและมุมมอง

fx
= PostgreSQL.Database(server, database, [options]) as table

ความนิยม6/10
ความยาก4/10
ประโยชน์6/10

อัปเดต 12 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
server text ชื่อเซิร์ฟเวอร์ PostgreSQL หากต้องการระบุพอร์ต ให้ใช้รูปแบบ ‘server:port’ (เช่น ‘localhost:5432’)
database text ชื่อฐานข้อมูล PostgreSQL ที่ต้องการเชื่อมต่อ
[options]ไม่บังคับ record (optional) null ตัวเลือกเพิ่มเติมสำหรับการเชื่อมต่อ เช่น Query, CommandTimeout, CreateNavigationProperties, HierarchicalNavigation เป็นต้น

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

PostgreSQL.Database เป็นฟังก์ชันที่ช่วยให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ PostgreSQL แล้วดึงข้อมูลจากตารางหรือมุมมองที่มีอยู่ ฟังก์ชันนี้คืนค่าเป็นตารางที่แสดงรายชื่อ SQL tables และ views ทั้งหมดในฐานข้อมูล

สิ่งที่เจ๋งคือคุณสามารถระบุเซิร์ฟเวอร์พร้อมพอร์ต เลือกฐานข้อมูลเฉพาะ และตั้งค่าตัวเลือกต่างๆ เช่น custom query, connection timeout, หรือ command timeout ได้ ทำให้มีความยืดหยุ่นสูง

ส่วนตัวผม PostgreSQL.Database นี่มีประโยชน์มากเวลาต้องทำงานกับฐานข้อมูล PostgreSQL หรือเวลาต้องดึงข้อมูลจากหลายตาราง เพราะมันโหลดโครงสร้างฐานข้อมูลให้เสมือนว่าเป็น Power Query navigator ตรงๆ 😎

Examples

เชื่อมต่อพื้นฐานกับ PostgreSQLPostgreSQL.Database("localhost", "mycompany_db")

เชื่อมต่อกับเซิร์ฟเวอร์ PostgreSQL บนเครื่องชื่อ localhost (ใช้พอร์ตเริ่มต้น 5432) และเปิดฐานข้อมูล mycompany_db

fx
= PostgreSQL.Database("localhost", "mycompany_db")

ผลลัพธ์ตารางที่แสดงรายชื่อ tables และ views ทั้งหมดในฐานข้อมูล mycompany_db
เชื่อมต่อโดยระบุพอร์ตเฉพาะPostgreSQL.Database("db-server.company.com:5433", "sales_db")

เชื่อมต่อเซิร์ฟเวอร์ PostgreSQL ตัวอื่นที่ใช้พอร์ต 5433 แทนพอร์ตเริ่มต้น

fx
= PostgreSQL.Database("db-server.company.com:5433", "sales_db")

ผลลัพธ์ตารางรายชื่อ tables จากฐานข้อมูล sales_db บนเซิร์ฟเวอร์ที่ใช้พอร์ต 5433
เชื่อมต่อพร้อมระบุ SQL Query โดยตรงlet Source = PostgreSQL.Database( "localhost", "mycompany_db", [Query = "SELECT * FROM customers WHERE country = 'Thailand'"] ) in Source

ใช้ตัวเลือก Query เพื่อรันคำสั่ง SQL นอก Power Query โดยตรง ไม่ต้องโหลดตารางทั้งหมดแล้วค่อย filter

fx
let
Source = PostgreSQL.Database(
"localhost",
"mycompany_db",
[Query = "SELECT * FROM customers WHERE country = 'Thailand'"]
)
in
Source

ผลลัพธ์ตารางที่มีข้อมูลลูกค้าจากประเทศไทยเท่านั้น
เชื่อมต่อพร้อมตั้งค่า Command TimeoutPostgreSQL.Database( "postgres.db", "analytics_db", [CommandTimeout = #duration(0, 0, 30, 0)] )

ระบุ CommandTimeout ที่ 30 วินาที เพื่อหลีกเลี่ยงการรอคอยนาน ถ้าคิวรีใช้เวลามากกว่านี้จะหยุดโดยอัตโนมัติ

fx
= PostgreSQL.Database(
"postgres.db",
"analytics_db",
[CommandTimeout = #duration(0, 0, 30, 0)]
)

ผลลัพธ์ตารางรายชื่อ tables โดยรอการตอบสนองสูงสุด 30 วินาที
เชื่อมต่อพร้อมเปิดใช้ Hierarchical NavigationPostgreSQL.Database( "localhost", "mycompany_db", [HierarchicalNavigation = true] )

ตั้งค่า HierarchicalNavigation เป็น true เพื่อให้ tables จัดกลุ่มตามชื่อ schema แทนการแสดงแบบแบน

fx
= PostgreSQL.Database(
"localhost",
"mycompany_db",
[HierarchicalNavigation = true]
)

ผลลัพธ์ตารางรายชื่อ tables ที่จัดกลุ่มตามชื่อ schema

FAQs

PostgreSQL.Database ต่างจาก SQL.Database อย่างไร+

PostgreSQL.Database เชื่อมต่อกับฐานข้อมูล PostgreSQL โดยใช้พารามิเตอร์ server และ database ส่วน SQL.Database ใช้สำหรับ Microsoft SQL Server ทั้งสองเป็นฟังก์ชันเฉพาะสำหรับแต่ละ DBMS

ฟังก์ชันนี้ส่งคืนอะไร+

ส่งคืนตารางที่แสดงรายชื่อ SQL tables และ views ทั้งหมดในฐานข้อมูลที่ระบุ คุณสามารถเลือกตารางหรือมุมมองเฉพาะเพื่อโหลดข้อมูลได้

ต้องใช้ Query parameter เพื่อให้ได้ข้อมูลจริง+

ไม่จำเป็น คุณสามารถใช้ PostgreSQL.Database ตามปกติแล้วเลือกตารางที่ต้องการจาก navigator แล้วค่อยกำหนด filter หรือ transformation ใน Power Query ได้ Query parameter เป็นตัวเลือกสำหรับกรณีที่ต้องการรัน SQL โดยตรง

Connection timeout กับ Command timeout ต่างกันยังไง+

Connection timeout คือเวลารอเชื่อมต่อกับฐานข้อมูล ส่วน Command timeout คือเวลารอผลลัพธ์จากคำสั่ง SQL ตามปกติค่าเริ่มต้นของ Command timeout คือ 10 นาที

CreateNavigationProperties ทำให้อะไรต่าง+

เมื่อตั้งเป็น true (ค่าเริ่มต้น) ฟังก์ชันจะสร้าง navigation properties ที่ให้คุณคลิกตัวเลือก tables แทนที่จะแสดง raw table list

Resources & Related

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่