หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทความนี้แสดงวิธีการเพิ่มแหล่งข้อมูลการจับภาพข้อมูล (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 ตะวันตก สวิตเซอร์แลนด์ตะวันตก
ข้อกำหนดเบื้องต้น
เข้าถึงพื้นที่ทํางานในโหมดสิทธิ์การใช้งาน Fabric capacity (หรือ) โหมดสิทธิ์การใช้งานรุ่นทดลองใช้ที่มีสิทธิ์ผู้สนับสนุนหรือสูงกว่า
การเข้าถึงของผู้ใช้ที่ลงทะเบียนในฐานข้อมูล PostgreSQL
ฐานข้อมูล PostgreSQL ของคุณต้องสามารถเข้าถึงได้โดยสาธารณะและไม่ได้อยู่หลังไฟร์วอลล์หรือมีความปลอดภัยในเครือข่ายเสมือน
CDC ที่เปิดใช้งานในฐานข้อมูล PostgreSQL และตาราง
ถ้าคุณมีฐานข้อมูล Azure สําหรับ PostgreSQL ให้ทําตามขั้นตอนในส่วนถัดไปเพื่อเปิดใช้งาน CDC สําหรับข้อมูลโดยละเอียด โปรดดู การจําลองแบบตรรกะและการกําหนดรหัสตรรกะ - ฐานข้อมูล Azure สําหรับ PostgreSQL - เซิร์ฟเวอร์แบบยืดหยุ่น
สําหรับฐานข้อมูล PostgreSQL อื่น ๆ ดู ตัวเชื่อมต่อ Debezium สําหรับ PostgreSQL :: คู่มือ Debezium
ถ้าคุณไม่มีเหตุการณ์สตรีม ให้สร้างเหตุการณ์สตรีม
เปิดใช้งาน CDC ในฐานข้อมูล PostgreSQL ของคุณ
ส่วนนี้ใช้ ฐานข้อมูล Azure สําหรับ PostgreSQL เป็นตัวอย่าง
หากต้องการเปิดใช้งาน CDC ในฐานข้อมูล Azure ของคุณ สําหรับเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL ให้ทําตามขั้นตอนเหล่านี้:
บนฐานข้อมูล Azure สําหรับหน้าเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL ในพอร์ทัล Azure ให้เลือก พารามิเตอร์ ของเซิร์ฟเวอร์ในเมนูการนําทาง
บนหน้า พารามิเตอร์ของ เซิร์ฟเวอร์:
- ตั้งค่า wal_level เป็นตรรกะ
- อัปเดต max_worker_processes เป็นอย่างน้อย 16
บันทึกการเปลี่ยนแปลงและเริ่มเซิร์ฟเวอร์ใหม่
ยืนยันว่าฐานข้อมูล Azure ของคุณสําหรับอินสแตนซ์ของเซิร์ฟเวอร์แบบยืดหยุ่น PostgreSQL อนุญาตปริมาณการใช้งานเครือข่ายสาธารณะ
ให้สิทธิ์การจําลองแบบแก่ผู้ใช้ที่เป็นผู้ดูแลระบบ โดยการเรียกใช้คําสั่ง SQL ต่อไปนี้ ถ้าคุณต้องการใช้บัญชีผู้ใช้อื่นเพื่อเชื่อมต่อ PostgreSQL DB ของคุณเพื่อดึงข้อมูล CDC ตรวจสอบให้แน่ใจว่าผู้ใช้เป็นเจ้าของตาราง
ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
เปิดใช้ตัวช่วยสร้างการเลือกแหล่งข้อมูล
ถ้าคุณยังไม่ได้เพิ่มแหล่งข้อมูลใด ๆ ลงในเหตุการณ์สตรีมของคุณ ให้เลือก ใช้ไทล์แหล่งข้อมูล ภายนอก
ถ้าคุณกําลังเพิ่มแหล่งข้อมูลไปยังเหตุการณ์สตรีมที่เผยแพร่แล้ว สลับไปยัง โหมดแก้ไข เลือก เพิ่มแหล่งข้อมูล บนริบบอน แล้วเลือก แหล่งข้อมูลภายนอก
บนหน้า
กําหนดค่าและเชื่อมต่อกับฐานข้อมูล PostgreSQL CDC
บนหน้า เชื่อมต่อ เลือก การเชื่อมต่อใหม่
ในส่วน การตั้งค่าการเชื่อมต่อ ให้ป้อนข้อมูลต่อไปนี้
เซิร์ฟเวอร์: ที่อยู่เซิร์ฟเวอร์ของฐานข้อมูล PostgreSQL ของคุณ ตัวอย่างเช่น my-pgsql-server.postgres.database.azure.com
ฐานข้อมูล: ชื่อฐานข้อมูล ตัวอย่างเช่น my_database
ชื่อการเชื่อมต่อ: ป้อนชื่อสําหรับการเชื่อมต่อ
ชนิดการรับรองความถูกต้อง เลือก พื้นฐาน และใส่ ชื่อผู้ใช้ และ รหัสผ่าน ของคุณสําหรับฐานข้อมูล
หมายเหตุ
ในขณะนี้ Fabric event streams สนับสนุนเฉพาะการรับรองความถูกต้อง พื้นฐาน เท่านั้น
เลือก เชื่อมต่อ เพื่อดําเนินการตั้งค่าการเชื่อมต่อให้เสร็จสมบูรณ์
พอร์ต: ใส่หมายเลขพอร์ตของเซิร์ฟเวอร์ของคุณ ค่าเริ่มต้นคือ 5432 ถ้าการเชื่อมต่อระบบคลาวด์ที่คุณเลือกได้รับการกําหนดค่าใน จัดการการเชื่อมต่อและเกตเวย์ตรวจสอบให้แน่ใจว่าหมายเลขพอร์ตตรงกับชุดนั้น หากไม่ตรงกัน หมายเลขพอร์ตในการเชื่อมต่อระบบคลาวด์ใน จัดการการเชื่อมต่อและเกตเวย์ มีความสําคัญมากขึ้น
คุณสามารถเลือกระหว่างสองตัวเลือกเมื่อบันทึกการเปลี่ยนแปลงจากตารางฐานข้อมูล:
- ตารางทั้งหมด: บันทึกการเปลี่ยนแปลงจากทุกตารางในฐานข้อมูล
-
ใส่ชื่อตาราง: ช่วยให้คุณสามารถระบุชุดย่อยของตารางโดยใช้รายการที่คั่นด้วยจุลภาค คุณอาจใช้: ตัวระบุตารางแบบเต็มในรูปแบบ
schemaName.tableName
หรือนิพจน์ปกติที่ถูกต้อง ตัวอย่าง: -
dbo.test.*
: เลือกตารางทั้งหมดที่มีชื่อเริ่มต้นด้วยtest
ในdbo
Schema -
dbo\.(test1|test2)
: เลือกdbo.test1
และdbo.test2
คุณสามารถรวมทั้งสองรูปแบบในรายการได้ ขีดจํากัดอักขระทั้งหมดสําหรับรายการทั้งหมดคือ 102,400 อักขระ
ชื่อสล็อต (ไม่บังคับ): ใส่ชื่อของช่องถอดรหัสตรรกะ PostgreSQL ที่สร้างขึ้นสําหรับการสตรีมการเปลี่ยนแปลงจากปลั๊กอินเฉพาะสําหรับฐานข้อมูล/schema เฉพาะ เซิร์ฟเวอร์ใช้สล็อตนี้เพื่อสตรีมเหตุการณ์ไปยังตัวเชื่อมต่อการสตรีมเหตุการณ์ จะต้องมีตัวอักษรตัวพิมพ์เล็ก ตัวเลข และขีดล่างเท่านั้น
- ถ้าไม่ได้ระบุ GUID จะถูกใช้เพื่อสร้างสล็อตที่จําเป็นต้องมีสิทธิ์ในฐานข้อมูลที่เหมาะสม
- ถ้ามีชื่อช่องที่ระบุ อยู่ ตัวเชื่อมต่อจะใช้ชื่อนั้นโดยตรง
คุณอาจขยาย การตั้งค่าขั้นสูง เพื่อเข้าถึงตัวเลือกการกําหนดค่าเพิ่มเติมสําหรับแหล่ง CDC ของฐานข้อมูล PostgreSQL:
ชื่อการเผยแพร่: ระบุชื่อของสิ่งพิมพ์การจําลองแบบเชิงตรรกะ PostgreSQL ที่จะใช้ การดําเนินการนี้จะต้องตรงกับสิ่งพิมพ์ที่มีอยู่ในฐานข้อมูล หรือจะถูกสร้างขึ้นโดยอัตโนมัติโดยขึ้นอยู่กับโหมดการสร้างอัตโนมัติ ค่าเริ่มต้น:
dbz_publication
หมายเหตุ
ผู้ใช้ตัวเชื่อมต่อต้องมีสิทธิ์ผู้ใช้ขั้นสูงในการสร้างการเผยแพร่ ขอแนะนําให้สร้างการเผยแพร่ด้วยตนเองก่อนที่จะเริ่มตัวเชื่อมต่อเป็นครั้งแรกเพื่อหลีกเลี่ยงปัญหาที่เกี่ยวข้องกับสิทธิ์
โหมดการสร้างอัตโนมัติของการเผยแพร่: ควบคุมว่าการเผยแพร่จะถูกสร้างขึ้นโดยอัตโนมัติหรือไม่และอย่างไร ตัวเลือกได้แก่:
-
Filtered
(ค่าเริ่มต้น): ถ้าไม่มีสิ่งพิมพ์ที่ระบุ ตัวเชื่อมต่อจะสร้างหนึ่งรายการที่มีเฉพาะตารางที่เลือกเท่านั้น (ตามที่ระบุในรายการรวมตาราง) -
AllTables
: ถ้ามีการเผยแพร่ที่ระบุ ตัวเชื่อมต่อจะใช้สิ่งพิมพ์นั้น ถ้าไม่มีอยู่ ตัวเชื่อมต่อจะสร้างหนึ่งรายการที่มีตารางทั้งหมดในฐานข้อมูล -
Disabled
: ตัวเชื่อมต่อไม่สร้างการเผยแพร่ ถ้าการเผยแพร่ที่ระบุหายไป ตัวเชื่อมต่อจะแสดงข้อยกเว้นและหยุด ในกรณีนี้ การเผยแพร่ต้องถูกสร้างขึ้นด้วยตนเองในฐานข้อมูล
สําหรับข้อมูลเพิ่มเติม โปรดดู เอกสารประกอบ Debezium เกี่ยวกับโหมดการสร้างอัตโนมัติ
-
โหมดการจัดการทศนิยม: ระบุว่าตัวเชื่อมต่อจัดการกับค่า PostgreSQL
DECIMAL
และNUMERIC
คอลัมน์อย่างไร:-
Precise
: แสดงค่าโดยใช้ชนิดทศนิยมที่แน่นอน (ตัวอย่างเช่น JavaBigDecimal
) เพื่อให้แน่ใจว่ามีความแม่นยําและความแม่นยําเต็มในการแสดงข้อมูล -
Double
: แปลงค่าเป็นจํานวนจุดทศนิยมลอยตัวที่มีความแม่นยําสองเท่า ซึ่งช่วยปรับปรุงความสามารถในการใช้งานและประสิทธิภาพการทํางาน แต่อาจส่งผลให้สูญเสียความแม่นยํา -
String
: เข้ารหัสค่าเป็นสตริงที่จัดรูปแบบ ซึ่งทําให้ง่ายต่อการใช้งานในระบบปลายทาง แต่สูญเสียข้อมูลเชิงความหมายเกี่ยวกับชนิดตัวเลขดั้งเดิม
-
บนหน้า ตรวจสอบ + เชื่อมต่อ ให้ตรวจสอบสรุป จากนั้นเลือก เพิ่ม
หมายเหตุ
จํานวนสูงสุดของแหล่งข้อมูลและปลายทางสําหรับหนึ่งเหตุการณ์สตรีมคือ 11
ดูเหตุการณ์ที่อัปเดตแล้ว
คุณสามารถดูแหล่ง CDC ของฐานข้อมูล PostgreSQL ที่เพิ่มไปยังเหตุการณ์สตรีม ของคุณในโหมดแก้ไข
หากต้องการใช้แหล่งข้อมูล CdC PostgreSQL DB ที่เพิ่งเพิ่มใหม่นี้ ให้เลือก เผยแพร่ หลังจากที่คุณทําตามขั้นตอนเหล่านี้แหล่งข้อมูล CDC PostgreSQL DB ของคุณจะพร้อมใช้งานสําหรับการแสดงภาพใน Live view
เนื้อหาที่เกี่ยวข้อง
ตัวเชื่อมต่ออื่นๆ:
- Amazon Kinesis Data Streams
- Azure Cosmos DB
- Azure Event Hubs
- azure Service Bus
- Azure IoT Hub
- ฐานข้อมูล Azure SQL เปลี่ยนแปลงการเก็บข้อมูล (CDC)
- Confluent Kafka
- ปลายทางแบบกําหนดเอง
- ผับ/ย่อย Google Cloud
- ฐานข้อมูล MySQL CDC
- ฐานข้อมูล PostgreSQL CDC
- ข้อมูลตัวอย่าง
- เหตุการณ์ที่เก็บข้อมูล Azure Blob
- เหตุการณ์พื้นที่ทํางานของ Fabric