Jaa


PostgreSQL-tietokannan CDC-lähteen lisääminen tapahtumavirtaan

Tässä artikkelissa kerrotaan, miten voit lisätä PostgreSQL-tietokannan Change Data Capture (CDC) -lähteen tapahtumavirtaan.

PostgreSQL-tietokannan Change Data Capture (CDC) -lähdeliittimen avulla Voit tallentaa tilannevedoksen nykyisistä tiedoista PostgreSQL-tietokantaan. Tällä hetkellä PostgreSQL-tietokannan muutostietokantaa (CDC) tuetaan seuraavista palveluista, joissa tietokantoja voi käyttää julkisesti:

  • Azure-tietokanta PostgreSQL-:lle
  • Amazon RDS PostgreSQL:lle
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL PostgreSQL:lle

Kun PostgreSQL-tietokannan CDC-lähde on lisätty tapahtumavirtaan, se tallentaa rivitason muutokset määritettyihin taulukoihin. Nämä muutokset voidaan sitten käsitellä reaaliaikaisesti ja lähettää eri kohteisiin tarkempaa analysointia varten.

Edellytykset

CDC:n ottaminen käyttöön PostgreSQL-tietokannassa

Tässä osassa käytetään esimerkkinä Azure Database for PostgreSQL.

Ota CDC käyttöön Azure-tietokannassa PostgreSQL-joustavalle palvelimelle seuraavasti:

  1. Valitse Azure-portaali: Azure-tietokanta PostgreSQL:n joustavalle palvelimelle -sivulla palvelinparametrit siirtymisvalikosta.

  2. Palvelimen parametrit -sivulla:

    • Määritä wal_level loogisiksi.
    • Päivitä max_worker_processes vähintään arvoon 16.

    Näyttökuva CDC:n käyttöönotosta joustavaa palvelinkäyttöönottoa varten.

  3. Tallenna muutokset ja käynnistä palvelin uudelleen.

  4. Varmista, että PostgreSQL:n joustavan palvelimen Azure-tietokanta sallii julkisen verkkoliikenteen.

  5. Myönnä järjestelmänvalvojan käyttäjien replikoinnin käyttöoikeudet suorittamalla seuraava SQL-lauseke. Jos haluat käyttää muuta käyttäjätiliä PostgreSQL DB:n yhdistämiseen CDC:n noutamiseksi, varmista, että käyttäjä on -taulukon omistaja.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

Käynnistä ohjattu Tietolähteen valitseminen -toiminto

Jos et ole vielä lisännyt lähdettä eventstreamiin, valitse Käytä ulkoista lähdettä -ruutu.

Kuvakaappaus, joka näyttää laatan valinnan ulkoisen lähteen käyttöön.

Jos lisäät lähdekoodin jo julkaistuun tapahtumavirtaan, vaihda muokkaustilaan . Nauhalta valitse Lisää lähde>Ulkoiset lähteet.

Kuvakaappaus, joka näyttää vaihtoehtoja ulkoisten lähteiden lisäämiseen.

Etsi Valitse tietolähde -sivulta PostgreSQL DB (CDC) - Connect.

Näyttökuvassa näkyy Azure DB postgreSQL:lle (CDC) lähdetyypiksi ohjatussa Hae tapahtumat -toiminnossa.

PostgreSQL-tietokanta CDC:n määrittäminen ja siihen yhdistäminen

  1. Valitse Yhdistä-sivullaUusi yhteys.

    Näyttökuvassa näkyy Azure PostgreSQL -tietokannan Yhdistä-sivu, jossa on korostettuna Uusi yhteys -linkki.

  2. Anna Yhteysasetukset-osiossa seuraavat tiedot.

    • Palvelin: PostgreSQL-tietokannan palvelinosoite, esimerkiksi my-pgsql-server.postgres.database.azure.com.

    • Tietokanta: Tietokannan nimi, esimerkiksi my_database.

      Näyttökuvassa näkyy Azure PostgreSQL -tietokantaliittimen Yhteysasetukset-osio.

    • Yhteyden nimi: Anna yhteyden nimi.

    • Todennuslaji: valitse Perus ja anna tietokannan käyttäjänimi ja salasana .

      Muistiinpano

      Tällä hetkellä Fabric-tapahtumavirrat tukevat vain perustodentamista.

    • Viimeistele yhteysasetukset valitsemalla Yhdistä . Näyttökuvassa näkyy Azure PostgreSQL -tietokantaliittimen Yhteyden tunnistetiedot -osio.

  3. Portti: Anna palvelimesi porttinumero. Oletusarvo on 5432. Jos valittu pilviyhteys on määritetty kohdassa Yhteyksien ja yhdyskäytävien hallinta, varmista, että porttinumero vastaa siinä määritettyä. Jos ne eivät täsmää, pilviyhteyden porttinumero Yhteyksien ja yhdyskäytävien hallinta etusijalla.

  4. Voit valita kahdesta vaihtoehdosta, kun sieppaat muutoksia tietokantataulukoista:

    • Kaikki taulukot: Sieppaa muutokset tietokannan jokaisesta taulukosta.
    • Anna taulukon nimet: Voit määrittää taulukoiden alijoukon käyttämällä pilkuin eroteltua luetteloa. Voit käyttää jompaakumpaa seuraavista: koko taulukon tunnisteita muodossa schemaName.tableName tai kelvollisia säännönmukaisia lausekkeita. Esimerkkejä:
    • dbo.test.*: Valitse kaikki taulukot, joiden nimi alkaa testdbo rakenteen mukaan.
    • dbo\.(test1|test2): Valitse dbo.test1 ja dbo.test2.

    Voit yhdistää molemmat muodot luettelossa. Koko merkinnän merkkirajoitus on 102 400 merkkiä.

  5. Paikan nimi (valinnainen): Anna PostgreSQL:n loogisen koodauksen koodauksen paikan nimi, joka luotiin tietojen suoratoiston muutoksille tietystä laajennuksesta tietylle tietokannalle tai rakenteelle. Palvelin käyttää tätä ajanjaksoa tapahtumien suoratoistoon Eventstream-suoratoistoyhdistimeen. Sen tulee sisältää vain pieniä kirjaimia, numeroita ja alaviivoja.

    • Jos tätä ei määritetä, paikan luomiseen käytetään GUID-tunnusta, joka edellyttää asianmukaiset tietokannan käyttöoikeudet.
    • Jos määritetty paikan nimi on olemassa, liitin käyttää sitä suoraan.
  6. Voit avata Lisäasetukset päästäksesi lisää konfiguraatiovaihtoehtoja PostgreSQL-tietokannan CDC-lähteelle:

    • Julkaisun nimi: Määrittää käytettävän PostgreSQL:n loogisen replikoinnin julkaisun nimen. Tämän on vastattava tietokannan olemassa olevaa julkaisua, tai se luodaan automaattisesti automaattisen luontitilan mukaan. Oletusarvo: dbz_publication.

      Muistiinpano

      Liittimen käyttäjällä on oltava yläkäyttäjän käyttöoikeudet julkaisun luomiseksi. Julkaisu kannattaa luoda manuaalisesti ennen yhdistimen ensimmäistä käynnistystä käyttöoikeuksiin liittyvien ongelmien välttämiseksi.

    • Julkaisun automaattinen luontitila: Määrittää, luodaanko julkaisu automaattisesti ja miten se luodaan. Vaihtoehtoja ovat seuraavat:

      • Filtered (oletus): Jos määritettyä julkaisua ei ole, liitin luo sellaisen, joka sisältää vain valitut taulukot (kuten taulukon sisällytysluettelossa on määritetty).
      • AllTables: Jos määritetty julkaisu on olemassa, liitin käyttää sitä. Jos sitä ei ole olemassa, liitin luo sellaisen, joka sisältää kaikki tietokannan taulukot.
      • Disabled: Yhdistin ei luo julkaisua. Jos määritetty julkaisu puuttuu, liitin aiheuttaa poikkeuksen ja pysähtyy. Tässä tapauksessa julkaisu on luotava tietokannassa manuaalisesti.

      Lisätietoja on julkaisun automaattisen luonnin tilan Debezium-dokumentaatiossa

    • Desimaalikäsittelytila: Määrittää, miten liitin käsittelee PostgreSQL DECIMAL - ja NUMERIC sarakearvot:

      • Precise: Edustaa arvoja käyttäen tarkkoja desimaalityyppejä (esimerkiksi Java BigDecimal), joilla varmistetaan tietojen esityksen täysi tarkkuus ja tarkkuus.
      • Double: muuntaa arvot kaksoistarkoiksi liukupisteluvuiksi. Tämä parantaa käytettävyyttä ja suorituskykyä, mutta saattaa johtaa tarkkuuden heikkenemiseen.
      • String: Koodaa arvot muotoiltuina merkkijonoina. Tämän ansiosta niitä on helppo käyttää jatkojalostusjärjestelmissä, mutta ne menettävät semanttisia tietoja alkuperäisestä numeerisesta tyypistä.
    • Snapshot-tila: Määritä kriteerit snapshotin suorittamiselle, kun liitin käynnistyy:

      • Initial: Liitin suorittaa snapshotin vain, kun loogisen palvelimen nimen offsetteja ei ole kirjattu tai jos se havaitsee, että aiempi snapshotti epäonnistui valmistumaan. Snapshotin valmistuttua liitin alkaa striimata tapahtumatietueita myöhempiä tietokantamuutoksia varten.
      • InitialOnly: Liitin suorittaa snapshotin vain, kun loogiselle palvelimen nimelle ei ole tallennettu offsetteja. Snapshotin valmistuttua liitin pysähtyy. Se ei siirry suoratoistoon lukeakseen muutoksia binlogista.
      • NoData: Liitin suorittaa snapshotin, joka tallentaa vain skeeman, mutta ei taulukkodataa. Aseta tämä asetus, jos et tarvitse johdonmukaista tilannekuvaa datasta, vaan tarvitset vain ne muutokset, jotka tapahtuvat liittimen käynnistymisestä lähtien.
    • Heartbeat-toimintokysely: Määrittää kyselyn, jonka liitin suorittaa lähdetietokannassa, kun liitin lähettää heartbeat-viestin.

    • Snapshot-valintalauseen ohitus: Määrittää taulukon rivit, jotka sisällytetään snapshot-ohjelmaan. Käytä ominaisuutta, jos haluat, että tilannekuva sisältää vain osan taulukon riveistä. Tämä ominaisuus vaikuttaa vain snapshot-otoksiin. Se ei koske tapahtumia, joita liitin lukee lokista.

  7. Tarkista yhteenveto Tarkista + yhdistä -sivulla ja valitse sitten Lisää.

    Näyttökuvassa näkyy Azure PostgreSQL -tietokannan liittimen tarkistus- ja luontisivu.

Näytä päivitetty tapahtumavirta

  1. Näet PostgreSQL-tietokannan CDC-lähteen lisättynä tapahtumavirtaasi Muokkaa-tilassa.

    Näyttökuva PostgreSQL DB CDC -lähteen suoratoistosta muokkausnäkymässä.

  2. Jos haluat ottaa käyttöön tämän äskettäin lisätyn PostgreSQL DB CDC -lähteen, valitse Julkaise. Kun olet suorittanut nämä vaiheet, PostgreSQL DB CDC -lähde on visualisoitavissa reaaliaikaisessa näkymässä.

    Näyttökuva PostgreSQL DB CDC -lähteen suoratoistosta reaaliaikaisessa näkymässä.

Muut liittimet: