Thep Excel

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

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

= PostgreSQL.Database(server as text, database as text, [options as nullable record]) as table

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
6/10

Difficulty
4/10

Usefulness
6/10

Syntax & Arguments

= PostgreSQL.Database(server as text, database as text, [options as nullable record]) as table

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

Examples

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

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

Result:

ตารางที่แสดงรายชื่อ tables และ views ทั้งหมดในฐานข้อมูล mycompany_db

เชื่อมต่อโดยระบุพอร์ตเฉพาะ
PostgreSQL.Database("db-server.company.com:5433", "sales_db")
เชื่อมต่อเซิร์ฟเวอร์ PostgreSQL ตัวอื่นที่ใช้พอร์ต 5433 แทนพอร์ตเริ่มต้น
Power Query Formula:

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

Result:

ตารางรายชื่อ 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
Power Query Formula:

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

Result:

ตารางที่มีข้อมูลลูกค้าจากประเทศไทยเท่านั้น

เชื่อมต่อพร้อมตั้งค่า Command Timeout
PostgreSQL.Database( "postgres.db", "analytics_db", [CommandTimeout = #duration(0, 0, 30, 0)] )
ระบุ CommandTimeout ที่ 30 วินาที เพื่อหลีกเลี่ยงการรอคอยนาน ถ้าคิวรีใช้เวลามากกว่านี้จะหยุดโดยอัตโนมัติ
Power Query Formula:

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

Result:

ตารางรายชื่อ tables โดยรอการตอบสนองสูงสุด 30 วินาที

เชื่อมต่อพร้อมเปิดใช้ Hierarchical Navigation
PostgreSQL.Database( "localhost", "mycompany_db", [HierarchicalNavigation = true] )
ตั้งค่า HierarchicalNavigation เป็น true เพื่อให้ tables จัดกลุ่มตามชื่อ schema แทนการแสดงแบบแบน
Power Query Formula:

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

Result:

ตารางรายชื่อ 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

Additional Notes

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *