Megosztás a következőn keresztül:


PostgreSQL Database CDC-forrás hozzáadása eseménystreamhez

Ez a cikk bemutatja, hogyan vehet fel PostgreSQL Database Change Data Capture (CDC) forrást egy eseménystreambe.

A PostgreSQL Database Change Data Capture (CDC) forrásösszekötője a Microsoft Fabric-eseménystreamekhez lehetővé teszi, hogy pillanatképet készítsen az aktuális adatokról egy PostgreSQL-adatbázisban. A PostgreSQL Database Change Data Capture (CDC) jelenleg az alábbi szolgáltatásokból támogatott, ahol az adatbázisok nyilvánosan elérhetők:

  • Azure Database for PostgreSQL
  • Amazon RDS for PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL for PostgreSQL

Miután hozzáadta a PostgreSQL Database CDC-forrást az eseménystreamhez, rögzíti a megadott táblák sorszintű módosításait. Ezek a módosítások ezután valós időben feldolgozhatók, és elküldhetők különböző célhelyekre további elemzés céljából.

Előfeltételek

CDC engedélyezése a PostgreSQL-adatbázisban

Ez a szakasz példaként Azure Database for PostgreSQL használ.

Ha engedélyezni szeretné a CDC-t a rugalmas Azure Database for PostgreSQL-kiszolgálón, kövesse az alábbi lépéseket:

  1. Az Azure Portal rugalmas Azure Database for PostgreSQL-kiszolgáló lapján válassza a kiszolgálóparamétereket a navigációs menüben.

  2. A Kiszolgáló paraméterei lapon:

    • Állítsa a wal_level logikai értékre.
    • Frissítse a max_worker_processes értékét legalább 16-ra.

    Képernyőkép a CDC rugalmas kiszolgálótelepítéshez való engedélyezéséről.

  3. Mentse a módosításokat, és indítsa újra a kiszolgálót.

  4. Ellenőrizze, hogy a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány engedélyezi-e a nyilvános hálózati forgalmat.

  5. Adja meg a rendszergazdai felhasználói replikációs engedélyeket az alábbi SQL-utasítás futtatásával. Ha más felhasználói fiókkal szeretné csatlakoztatni a PostgreSQL DB-t a CDC lekéréséhez, győződjön meg arról, hogy a felhasználó a tábla tulajdonosa.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

Az Adatforrás kiválasztása varázsló indítása

Ha még nem adott hozzá forrást az eseményfolyamhoz, válassza a Külső forrás csempe használata lehetőséget.

Képernyőkép a csempe külső forrás használatára való kiválasztásáról.

Ha hozzáadja a forrást egy már közzétett eseményfolyamhoz, váltson szerkesztési módra. A menüszalagon válassza a Külső forrás forrás hozzáadása> lehetőséget.

A külső források hozzáadására szolgáló kijelöléseket bemutató képernyőkép.

A Adatforrás kiválasztása lapon keresse meg a PostgreSQL DB (CDC) csempét, és válassza a Csatlakozás lehetőséget.

Képernyőkép az Azure DB for PostgreSQL (CDC) forrástípusként való kiválasztásáról az Események lekérése varázslóban.

A PostgreSQL Database CDC konfigurálása és csatlakoztatása

  1. A Csatlakozás lapon válassza az Új kapcsolat lehetőséget.

    Képernyőkép egy Azure PostgreSQL-adatbázis Csatlakozás lapjáról az Új kapcsolat hivatkozás kiemelésével.

  2. A Kapcsolat beállításai szakaszban adja meg a következő adatokat.

    • Kiszolgáló: A PostgreSQL-adatbázis kiszolgálócíme, például my-pgsql-server.postgres.database.azure.com.

    • Adatbázis: Az adatbázis neve, például my_database.

      Az Azure PostgreSQL-adatbázis-összekötő Kapcsolatbeállítások szakaszát bemutató képernyőkép.

    • Kapcsolat neve: Adja meg a kapcsolat nevét.

    • Hitelesítési típus, Válassza az Alapszintű lehetőséget, és adja meg az adatbázis felhasználónevét és jelszavát .

      Megjegyzés

      A Fabric-eseménystreamek jelenleg csak az alapszintű hitelesítést támogatják.

    • Válassza a Csatlakozás lehetőséget a kapcsolati beállítások végrehajtásához. Képernyőkép az Azure PostgreSQL-adatbázis-összekötő kapcsolati hitelesítő adatok szakaszáról.

  3. Port: Adja meg a kiszolgáló portszámát. Az alapértelmezett érték 5432. Ha a kiválasztott felhőkapcsolat konfigurálva van Kapcsolatok és átjárók kezelése, győződjön meg arról, hogy a portszám megegyezik az ott beállított számmal. Ha nem egyeznek, a felhő alapú kapcsolat portszáma Kapcsolatok és átjárók kezelése esetén élvez elsőbbséget.

  4. Az adatbázistáblák módosításainak rögzítésekor két lehetőség közül választhat:

    • Minden tábla: Rögzítse az adatbázis minden táblájának módosításait.
    • Adja meg a tábla nevét: Lehetővé teszi a táblák részhalmazának megadását vesszővel tagolt lista használatával. Használhatja a következőt: teljes táblaazonosítók a formátumban schemaName.tableName vagy érvényes reguláris kifejezések. Példák:
    • dbo.test.*: Jelölje ki az összes táblát test , amelynek a neve a dbo sémában kezdődik.
    • dbo\.(test1|test2): Jelölje ki dbo.test1 és dbo.test2.

    A listában mindkét formátum kombinálható. A teljes bejegyzés teljes karakterkorlátja 102 400 karakter.

  5. Pont neve (nem kötelező): Adja meg annak a PostgreSQL logikai dekódoló pontnak a nevét, amely egy adott adatbázis/séma egy adott beépülő moduljának változásainak streamelésével jött létre. A kiszolgáló ezzel a ponttal streameli az eseményeket az Eventstream stream-összekötőjébe. Csak kisbetűket, számokat és aláhúzásjeleket tartalmazhat.

    • Ha nincs megadva, a rendszer egy GUID azonosítót használ a pont létrehozásához, amelyhez a megfelelő adatbázis-engedélyek szükségesek.
    • Ha létezik egy megadott slot név, az összekötő azt közvetlenül használja.
  6. A Speciális beállítások kibontásával további konfigurációs beállítások érhetők el a PostgreSQL Database CDC-forráshoz:

    • Kiadvány neve: A használni kívánt PostgreSQL logikai replikációs kiadvány nevét adja meg. Ennek meg kell egyeznie az adatbázisban lévő meglévő kiadványsal, vagy automatikusan létre kell hoznia az automatikus létrehozási módtól függően. Alapértelmezett érték: dbz_publication.

      Megjegyzés

      Az összekötő felhasználójának superuser engedélyekkel kell rendelkeznie a kiadvány létrehozásához. Az engedélyekkel kapcsolatos problémák elkerülése érdekében javasoljuk, hogy manuálisan hozza létre a kiadványt az összekötő első indítása előtt.

    • Kiadvány automatikus létrehozási módja: Azt szabályozza, hogy a kiadvány automatikusan létrejön-e és hogyan. A lehetőségek a következők:

      • Filtered (alapértelmezett): Ha a megadott kiadvány nem létezik, az összekötő létrehoz egy olyan kiadványt, amely csak a kijelölt táblákat tartalmazza (a tábla belefoglalási listájában megadottak szerint).
      • AllTables: Ha a megadott kiadvány létezik, az összekötő azt használja. Ha nem létezik, az összekötő létrehoz egyet, amely tartalmazza az adatbázis összes tábláját.
      • Disabled: Az összekötő nem hoz létre kiadványt. Ha a megadott kiadvány hiányzik, az összekötő kivételt jelez, és leáll. Ebben az esetben a kiadványt manuálisan kell létrehozni az adatbázisban.

      További információ: Debezium-dokumentáció a kiadvány automatikus létrehozása módról

    • Decimális kezelési mód: Meghatározza, hogy az összekötő hogyan kezeli a PostgreSQL DECIMAL - és NUMERIC oszlopértékeket:

      • Precise: Pontos decimális típusokat (például Java BigDecimal) használó értékeket jelöl az adatmegjelenítés teljes pontosságának és pontosságának biztosítása érdekében.
      • Double: Az értékeket dupla pontosságú lebegőpontos számokká alakítja. Ez javítja a használhatóságot és a teljesítményt, de a pontosság csökkenéséhez vezethet.
      • String: Formázott sztringekként kódolja az értékeket. Ez megkönnyíti a használatukat az alsóbb rétegbeli rendszerekben, de elveszíti az eredeti numerikus típus szemantikai adatait.
    • Pillanatkép mód: Adja meg a pillanatképek végrehajtásának feltételeit az összekötő indításakor:

      • Initial: Az összekötő csak akkor futtat egy pillanatfelvételt, ha a logikai kiszolgáló nevének eltolásait nem rögzítették, vagy ha azt észleli, hogy egy előző pillanatfelvétel nem fejeződött be. A pillanatkép befejeződése után az összekötő megkezdi az eseményrekordok streamelésének megkezdését az adatbázis későbbi módosításaihoz.
      • InitialOnly: A csatlakozó csak akkor futtat pillanatképet, ha a logikai kiszolgáló nevéhez nem lettek eltolási adatok rögzítve. A pillanatkép befejeződése után az összekötő leáll. Nem vált át streamelésre a változási események olvasásához a binlogból.
      • NoData: Az összekötő egy pillanatképet futtat, amely csak a sémát rögzíti, táblázatadatokat azonban nem. Ha nincs szüksége konzisztens pillanatképre az adatokról, akkor állítsa be ezt a beállítást, de csak az összekötő elindítása óta bekövetkező változásokra van szüksége.
    • Szívverési művelet lekérdezése:Azt a lekérdezést adja meg, amelyet az összekötő a forrásadatbázison hajt végre, amikor az összekötő szívverési üzenetet küld.

    • Pillanatképkiválasztási utasítás felülbírálása:A pillanatképbe belefoglalandó táblázatsorokat adja meg. Használja a tulajdonságot, ha azt szeretné, hogy egy pillanatkép csak a tábla sorainak egy részét tartalmazza. Ez a tulajdonság csak a pillanatképekre vonatkozik. Ez nem vonatkozik azokra az eseményekre, amelyeket az összekötő a naplóból olvas be.

  7. A Véleményezés + csatlakozás lapon tekintse át az összegzést, majd válassza a Hozzáadás lehetőséget.

    Képernyőkép az Azure PostgreSQL-adatbázis-összekötő áttekintési és létrehozási lapjáról.

Frissített eseményfolyam megtekintése

  1. Az eseménystreamhez hozzáadott PostgreSQL Database CDC-forrás szerkesztési módban látható.

    Képernyőkép a PostgreSQL DB CDC-forrásának szerkesztési nézetben történő streameléséről.

  2. Az újonnan hozzáadott PostgreSQL DB CDC-forrás implementálásához válassza a Közzététel lehetőséget. A lépések elvégzése után a PostgreSQL DB CDC-forrás elérhető a vizualizációhoz élő nézetben.

    Képernyőkép a PostgreSQL DB CDC-forrás élő nézetben való streameléséről.

Egyéb összekötők: