แชร์ผ่าน


เพิ่มแหล่งข้อมูล CDC ของฐานข้อมูล PostgreSQL ไปยังเหตุการณ์สตรีม

บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูลการจับภาพข้อมูล (CDC) ที่เปลี่ยนแปลงฐานข้อมูล PostgreSQL ไปยังเหตุการณ์

ตัวเชื่อมต่อแหล่งที่มาของฐานข้อมูล PostgreSQL Change Data Capture (CDC) สําหรับสตรีมเหตุการณ์ของ Microsoft Fabric ช่วยให้คุณสามารถจับภาพสแนปช็อตของข้อมูลปัจจุบันในฐานข้อมูล PostgreSQL ได้ ในปัจจุบัน ฐานข้อมูล PostgreSQL Change Data Capture (CDC) ได้รับการสนับสนุนจากบริการต่อไปนี้ซึ่งสามารถเข้าถึงฐานข้อมูลแบบสาธารณะได้:

  • ฐานข้อมูล Azure สําหรับ PostgreSQL
  • Amazon RDS สําหรับ PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL สําหรับ PostgreSQL

เมื่อแหล่งข้อมูล CDC ของฐานข้อมูล PostgreSQL ถูกเพิ่มลงในเหตุการณ์จะบันทึกการเปลี่ยนแปลงระดับแถวไปยังตารางที่ระบุ จากนั้นการเปลี่ยนแปลงเหล่านี้สามารถดําเนินการในแบบเรียลไทม์และส่งไปยังปลายทางที่แตกต่างกันสําหรับการวิเคราะห์เพิ่มเติม

หมายเหตุ

แหล่งข้อมูลนี้ไม่ได้รับการสนับสนุนในภูมิภาคต่อไปนี้ของความจุพื้นที่ทํางานของคุณ: US3 ตะวันตก สวิตเซอร์แลนด์ตะวันตก

ข้อกำหนดเบื้องต้น

เปิดใช้งาน CDC ในฐานข้อมูล PostgreSQL ของคุณ

ส่วนนี้ใช้ ฐานข้อมูล Azure สําหรับ PostgreSQL เป็นตัวอย่าง

หากต้องการเปิดใช้งาน CDC ในฐานข้อมูล Azure ของคุณ สําหรับเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL ให้ทําตามขั้นตอนเหล่านี้:

  1. บนฐานข้อมูล Azure สําหรับหน้าเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL ในพอร์ทัล Azure ให้เลือก พารามิเตอร์ ของเซิร์ฟเวอร์ในเมนูการนําทาง

  2. บนหน้า พารามิเตอร์ของ เซิร์ฟเวอร์:

    • ตั้งค่า wal_level เป็นตรรกะ
    • อัปเดต max_worker_processes เป็นอย่างน้อย 16

    สกรีนช็อตของการเปิดใช้งาน CDC สําหรับการปรับใช้เซิร์ฟเวอร์ที่ยืดหยุ่น

  3. บันทึกการเปลี่ยนแปลงและเริ่มเซิร์ฟเวอร์ใหม่

  4. ยืนยันว่าฐานข้อมูล Azure ของคุณสําหรับอินสแตนซ์ของเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL อนุญาตปริมาณการใช้งานเครือข่ายสาธารณะ

  5. ให้สิทธิ์การจําลองแบบแก่ผู้ใช้ที่เป็นผู้ดูแลระบบ โดยการเรียกใช้คําสั่ง SQL ต่อไปนี้ ถ้าคุณต้องการใช้บัญชีผู้ใช้อื่นเพื่อเชื่อมต่อ PostgreSQL DB ของคุณเพื่อดึงข้อมูล CDC ตรวจสอบให้แน่ใจว่าผู้ใช้เป็นเจ้าของตาราง

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

เปิดใช้ตัวช่วยสร้างการเลือกแหล่งข้อมูล

ถ้าคุณยังไม่ได้เพิ่มแหล่งข้อมูลใด ๆ ลงในเหตุการณ์สตรีมของคุณ ให้เลือก ใช้ไทล์แหล่งข้อมูล ภายนอก

สกรีนช็อตที่แสดงการเลือกใช้ไทล์แหล่งข้อมูลภายนอก

ถ้าคุณกําลังเพิ่มแหล่งข้อมูลไปยังเหตุการณ์สตรีมที่เผยแพร่แล้ว สลับไปยัง โหมดแก้ไข เลือก เพิ่มแหล่งข้อมูล บนริบบอน แล้วเลือก แหล่งข้อมูลภายนอก

สกรีนช็อตที่แสดงการเลือกเพิ่มแหล่งข้อมูลไปยังเมนูแหล่งข้อมูลภายนอก

บนหน้า เลือกแหล่งข้อมูล ให้ค้นหาและเลือก เชื่อมต่อ บนไทล์ PostgreSQL DB (CDC)

สกรีนช็อตที่แสดงการเลือก Azure DB สําหรับ PostgreSQL (CDC) เป็นชนิดแหล่งที่มาในตัวช่วยสร้างรับเหตุการณ์

กําหนดค่าและเชื่อมต่อกับฐานข้อมูล PostgreSQL CDC

  1. บนหน้า เชื่อมต่อ เลือก การเชื่อมต่อใหม่

    สกรีนช็อตที่แสดงหน้าเชื่อมต่อสําหรับฐานข้อมูล Azure PostgreSQL ที่มีลิงก์การเชื่อมต่อใหม่ที่เน้น

  2. ในส่วน การตั้งค่าการเชื่อมต่อ ให้ป้อนข้อมูลต่อไปนี้

    • เซิร์ฟเวอร์: ที่อยู่เซิร์ฟเวอร์ของฐานข้อมูล PostgreSQL ของคุณ ตัวอย่างเช่น my-pgsql-server.postgres.database.azure.com

    • ฐานข้อมูล: ชื่อฐานข้อมูล ตัวอย่างเช่น my_database

      สกรีนช็อตที่แสดงส่วนการตั้งค่าการเชื่อมต่อสําหรับตัวเชื่อมต่อฐานข้อมูล Azure PostgreSQL

    • ชื่อการเชื่อมต่อ: ป้อนชื่อสําหรับการเชื่อมต่อ

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

      หมายเหตุ

      ในขณะนี้ Fabric event streams สนับสนุนเฉพาะการรับรองความถูกต้อง พื้นฐาน เท่านั้น

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

  3. พอร์ต: ใส่หมายเลขพอร์ตของเซิร์ฟเวอร์ของคุณ ค่าเริ่มต้นคือ 5432 ถ้าการเชื่อมต่อระบบคลาวด์ที่คุณเลือกได้รับการกําหนดค่าใน จัดการการเชื่อมต่อและเกตเวย์ตรวจสอบให้แน่ใจว่าหมายเลขพอร์ตตรงกับชุดนั้น หากไม่ตรงกัน หมายเลขพอร์ตในการเชื่อมต่อระบบคลาวด์ใน จัดการการเชื่อมต่อและเกตเวย์ มีความสําคัญมากขึ้น

  4. คุณสามารถเลือกระหว่างสองตัวเลือกเมื่อบันทึกการเปลี่ยนแปลงจากตารางฐานข้อมูล:

    • ตารางทั้งหมด: บันทึกการเปลี่ยนแปลงจากทุกตารางในฐานข้อมูล
    • ใส่ชื่อตาราง: ช่วยให้คุณสามารถระบุชุดย่อยของตารางโดยใช้รายการที่คั่นด้วยจุลภาค คุณอาจใช้: ตัวระบุตารางแบบเต็มในรูปแบบ schemaName.tableName หรือนิพจน์ปกติที่ถูกต้อง ตัวอย่าง:
    • dbo.test.*: เลือกตารางทั้งหมดที่มีชื่อเริ่มต้นด้วย test ใน dbo Schema
    • dbo\.(test1|test2): เลือก dbo.test1 และdbo.test2

    คุณสามารถรวมทั้งสองรูปแบบในรายการได้ ขีดจํากัดอักขระทั้งหมดสําหรับรายการทั้งหมดคือ 102,400 อักขระ

  5. ชื่อสล็อต (ไม่บังคับ): ใส่ชื่อของช่องถอดรหัสตรรกะ PostgreSQL ที่สร้างขึ้นสําหรับการสตรีมการเปลี่ยนแปลงจากปลั๊กอินเฉพาะสําหรับฐานข้อมูล/schema เฉพาะ เซิร์ฟเวอร์ใช้สล็อตนี้เพื่อสตรีมเหตุการณ์ไปยังตัวเชื่อมต่อการสตรีมเหตุการณ์ จะต้องมีตัวอักษรตัวพิมพ์เล็ก ตัวเลข และขีดล่างเท่านั้น

    • ถ้าไม่ได้ระบุ GUID จะถูกใช้เพื่อสร้างสล็อตที่จําเป็นต้องมีสิทธิ์ในฐานข้อมูลที่เหมาะสม
    • ถ้ามีชื่อช่องที่ระบุ อยู่ ตัวเชื่อมต่อจะใช้ชื่อนั้นโดยตรง
  6. คุณอาจขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่ง CDC ของฐานข้อมูล PostgreSQL:

    • ชื่อการเผยแพร่: ระบุชื่อของสิ่งพิมพ์การจําลองแบบเชิงตรรกะ PostgreSQL ที่จะใช้ การดําเนินการนี้จะต้องตรงกับสิ่งพิมพ์ที่มีอยู่ในฐานข้อมูล หรือจะถูกสร้างขึ้นโดยอัตโนมัติโดยขึ้นอยู่กับโหมดการสร้างอัตโนมัติ ค่าเริ่มต้น: dbz_publication

      หมายเหตุ

      ผู้ใช้ตัวเชื่อมต่อต้องมีสิทธิ์ผู้ใช้ขั้นสูงในการสร้างการเผยแพร่ ขอแนะนําให้สร้างการเผยแพร่ด้วยตนเองก่อนที่จะเริ่มตัวเชื่อมต่อเป็นครั้งแรกเพื่อหลีกเลี่ยงปัญหาที่เกี่ยวข้องกับสิทธิ์

    • โหมดการสร้างอัตโนมัติของการเผยแพร่: ควบคุมว่าการเผยแพร่จะถูกสร้างขึ้นโดยอัตโนมัติหรือไม่และอย่างไร ตัวเลือกได้แก่:

      • Filtered (ค่าเริ่มต้น): ถ้าไม่มีสิ่งพิมพ์ที่ระบุ ตัวเชื่อมต่อจะสร้างหนึ่งรายการที่มีเฉพาะตารางที่เลือกเท่านั้น (ตามที่ระบุในรายการรวมตาราง)
      • AllTables: ถ้ามีการเผยแพร่ที่ระบุ ตัวเชื่อมต่อจะใช้สิ่งพิมพ์นั้น ถ้าไม่มีอยู่ ตัวเชื่อมต่อจะสร้างหนึ่งรายการที่มีตารางทั้งหมดในฐานข้อมูล
      • Disabled: ตัวเชื่อมต่อไม่สร้างการเผยแพร่ ถ้าการเผยแพร่ที่ระบุหายไป ตัวเชื่อมต่อจะแสดงข้อยกเว้นและหยุด ในกรณีนี้ การเผยแพร่ต้องถูกสร้างขึ้นด้วยตนเองในฐานข้อมูล

      สําหรับข้อมูลเพิ่มเติม โปรดดู เอกสารประกอบ Debezium เกี่ยวกับโหมดการสร้างอัตโนมัติ

    • โหมดการจัดการทศนิยม: ระบุว่าตัวเชื่อมต่อจัดการกับค่า PostgreSQL DECIMAL และ NUMERIC คอลัมน์อย่างไร:

      • Precise: แสดงค่าโดยใช้ชนิดทศนิยมที่แน่นอน (ตัวอย่างเช่น Java BigDecimal) เพื่อให้แน่ใจว่ามีความแม่นยําและความแม่นยําเต็มในการแสดงข้อมูล
      • Double: แปลงค่าเป็นจํานวนจุดทศนิยมลอยตัวที่มีความแม่นยําสองเท่า ซึ่งช่วยปรับปรุงความสามารถในการใช้งานและประสิทธิภาพการทํางาน แต่อาจส่งผลให้สูญเสียความแม่นยํา
      • String: เข้ารหัสค่าเป็นสตริงที่จัดรูปแบบ ซึ่งทําให้ง่ายต่อการใช้งานในระบบปลายทาง แต่สูญเสียข้อมูลเชิงความหมายเกี่ยวกับชนิดตัวเลขดั้งเดิม
  7. บนหน้า ตรวจสอบ + เชื่อมต่อ ให้ตรวจสอบสรุป จากนั้นเลือก เพิ่ม

    สกรีนช็อตที่แสดงหน้าตรวจสอบและสร้างที่เติมสําหรับตัวเชื่อมต่อฐานข้อมูล Azure PostgreSQL

หมายเหตุ

จํานวนสูงสุดของแหล่งข้อมูลและปลายทางสําหรับหนึ่งเหตุการณ์สตรีมคือ 11

ดูเหตุการณ์ที่อัปเดตแล้ว

  1. คุณสามารถดูแหล่ง CDC ของฐานข้อมูล PostgreSQL ที่เพิ่มไปยังเหตุการณ์สตรีม ของคุณในโหมดแก้ไข

    สกรีนช็อตของการสตรีมแหล่งข้อมูล CDC PostgreSQL DB ในมุมมองแก้ไข

  2. หากต้องการใช้แหล่งข้อมูล CdC PostgreSQL DB ที่เพิ่งเพิ่มใหม่นี้ ให้เลือก เผยแพร่ หลังจากที่คุณทําตามขั้นตอนเหล่านี้แหล่งข้อมูล CDC PostgreSQL DB ของคุณจะพร้อมใช้งานสําหรับการแสดงภาพใน Live view

    สกรีนช็อตของการสตรีมแหล่งข้อมูล CDC PostgreSQL DB ในมุมมองสด

ตัวเชื่อมต่ออื่นๆ: