Veelgestelde vragen over PostgreSQL-connector

Belangrijk

De PostgreSQL-connector voor Lakeflow Connect bevindt zich in openbare preview. Neem contact op met uw Databricks-accountteam om u in te schrijven voor de openbare preview.

Op deze pagina vindt u antwoorden op veelgestelde vragen over de PostgreSQL-connector in Databricks Lakeflow Connect.

Algemene veelgestelde vragen over beheerde connectors

De antwoorden in veelgestelde vragen over beheerde connectors zijn van toepassing op alle beheerde connectors in Lakeflow Connect. Lees verder voor veelgestelde vragen over connectors.

Hoe maakt Databricks verbinding met PostgreSQL?

Databricks maakt verbinding met PostgreSQL met behulp van TLS (Transport Layer Security) en een JDBC-verbinding. Nieuw gemaakte pijplijnen valideren ook het TLS-certificaat van de server om de serveridentiteit te verifiëren. Zie validatie van TLS-servercertificaten voor meer informatie en configuratieopties. Referenties worden veilig opgeslagen in Unity Catalog en kunnen alleen worden opgehaald als de gebruiker die het gegevensinvoerproces uitvoert over de juiste autorisaties beschikt. Databricks raadt aan om een afzonderlijke replicatiegebruiker in PostgreSQL te maken voor het opnemen van gegevens. Als er databases of tabellen zijn die u niet beschikbaar wilt maken voor deze gebruiker, kunt u de ingebouwde PostgreSQL-machtigingen gebruiken.

Als de pijplijn mislukt, wordt de opname hervat zonder gegevensverlies?

Ja. Databricks houdt bij wat de connector heeft geëxtraheerd uit de bron en toegepast op de bestemming. Als er iets gebeurt, kan Databricks op dat moment worden hervat zolang het replicatieslot en de Write-Ahead Log (WAL)-gegevens in de brondatabase blijven staan. Dit kan worden beïnvloed als de pijplijn niet wordt uitgevoerd voordat de WAL-bewaarperiode of replicatieslotlimieten zijn bereikt, waardoor een volledige vernieuwing van de doeltabellen vereist is.

Welke PostgreSQL-variaties worden door de connector ondersteund?

De connector ondersteunt AWS RDS PostgreSQL, Aurora PostgreSQL, Amazon EC2, Azure Database for PostgreSQL, Azure Virtual Machines, en GCP Cloud SQL voor PostgreSQL. Dit omvat PostgreSQL die wordt uitgevoerd op virtuele machines. De connector ondersteunt ook on-premises PostgreSQL met behulp van Azure ExpressRoute, AWS Direct Connect en VPN als er voldoende bandbreedte beschikbaar is. Zie Netwerkconnectiviteit voor meer informatie over connectiviteit tussen clouds.

Hoe haalt de connector incrementeel gegevens op?

De connector maakt gebruik van logische replicatie van PostgreSQL met de pgoutput invoegtoepassing. Met logische replicatie worden alle bewerkingen voor het wijzigen van gegevens vastgelegd (invoegingen, updates en verwijderingen) via het Write-Ahead-logboek zonder aanzienlijke invloed op de prestaties van de brondatabase.

Legt de connector tijdzones vast voor datum- en tijdkolommen?

De connector behoudt de tijdzone-informatie voor TIMESTAMP WITH TIME ZONE kolommen. TIMESTAMP WITHOUT TIME ZONE en TIME kolommen worden opgenomen als tekenreeksen in de oorspronkelijke indeling zonder tijdzoneconversie.

Kan ik het tijdschema van de ingangspoort aanpassen?

Nee, de opnamegateway moet in continue modus draaien. Dit is essentieel voor PostgreSQL om Write-Ahead Log (WAL) bloat te voorkomen en ervoor te zorgen dat replicatieslots geen niet-verwerkte wijzigingen ophopen. Als de gateway gedurende een langere periode wordt gestopt, kan het replicatieslot ertoe leiden dat WAL-bestanden zich op de brondatabase verzamelen, waardoor de schijfruimte mogelijk vol raakt.

Hoe verwerkt de connector een tabel zonder primaire sleutel?

De connector kan tabellen repliceren zonder primaire sleutel als de replica-identiteit is ingesteld op FULL. In dit geval behandelt de connector alle kolommen behalve grote objecten als een gebundelde primaire sleutel. Als er dubbele rijen in de brontabel staan, worden deze rijen opgenomen als één rij in de doeltabel, tenzij u het bijhouden van geschiedenis inschakelt.

Hoe vaak kan ik de opnamepijplijn laten draaien?

Er is geen limiet op hoe vaak u de opnamepijplijn kunt plannen. Databricks raadt echter ten minste vijf minuten tussen intervallen aan, omdat het enige tijd duurt voordat de serverloze berekening is opgestart. Databricks biedt geen ondersteuning voor het uitvoeren van de opnamepijplijn in continue modus.

Waarom zie ik niet alle rijen uit mijn database in de eerste pijplijnuitvoering?

De opnamegateway extraheert historische en CDC-gegevens zodra deze worden uitgevoerd. De verwerkingspijplijn kan worden uitgevoerd voordat al deze gegevens zijn geëxtraheerd, wat resulteert in een gedeeltelijke invoer van gegevens in doeltabellen. Het kan enkele executies van de opnamepijplijn duren voordat alle gegevens zijn geëxtraheerd en toegepast op de beoogde tabellen.

Kan ik opnemen vanuit een leesreplica of een stand-by-exemplaar?

Nee. Ondersteuning is beperkt tot primaire PostgreSQL-exemplaren omdat logische replicatie niet wordt ondersteund op leesreplica's of stand-by-exemplaren.

Wat gebeurt er met het replicatieslot wanneer ik een pijplijn verwijder?

Wanneer u een opnamepijplijn verwijdert, wordt het replicatieslot niet automatisch verwijderd uit de PostgreSQL-brondatabase. U moet het replicatieslot handmatig verwijderen om de accumulatie van Write-Ahead Logboeken (WAL) te voorkomen. Zie Replicatiesites opschonen voor instructies over het opschonen van replicatiesites.

Welke PostgreSQL-versie is vereist?

PostgreSQL 13 of hoger is vereist.

Is wal_level = logisch verplicht voor de CDC-ingestie?

Ja. De wal_level parameter moet worden ingesteld op logical om logische replicatie in te schakelen.

Kan ik tabellen repliceren vanuit meerdere PostgreSQL-databases in één pijplijn?

Ja. U kunt meerdere brondatabases opgeven in het source_catalog veld van de ingestion_definition. Elke brondatabase vereist echter een eigen Unity Catalog-verbinding en publicatieconfiguratie.

Hoeveel tabellen kan ik opnemen in één pijplijn?

Databricks raadt aan om 250 of minder tabellen per pijplijn op te nemen voor optimale prestaties. Er is echter geen vaste limiet voor het aantal rijen of kolommen dat binnen deze objecten wordt ondersteund.

Mijn ingestion-gateway heeft lang nodig om op te starten. Hoe kan ik dit oplossen?

Gateways worden uitgevoerd op klassiek rekenproces en richten een virtuele machine (VM) in bij elke start. Als het opstarten langer duurt dan een paar minuten, kunt u het volgende overwegen:

  • Schakel over naar het huidige pijplijnkanaal. Dit is de meest voorkomende oplossing. Preview-kanaalversies hebben langere opstarttijden. U kunt dit wijzigen in de gebruikersinterface (in de geavanceerde instellingen van de pijplijn onder Kanaal), bundelresourcebestand of pijplijnspecificatie.
  • Start de gateway niet opnieuw op tussen opnameuitvoeringen. De gateway is ontworpen om continu te draaien. Het stoppen en opnieuw opstarten herconfigureert de virtuele machine bij elke herstart, met als risico dat wijzigingslogboeken ontbreken als de bron ze inkort terwijl de gateway offline is.

Als de gateway 15 minuten of langer in een startstatus blijft hangen, maakt u een supportticket aan.

Dit geldt alleen voor gateways. Opnamepijplijnen worden uitgevoerd op serverloze berekeningen en starten snel.

Biedt de connector ondersteuning voor door de gebruiker gedefinieerde typen en extensies?

De connector ondersteunt de meeste PostgreSQL-gegevenstypen, waaronder matrices en JSONB. Door de gebruiker gedefinieerde typen en extensietypen van derden worden opgenomen als tekenreeksen. Zie de PostgreSQL-connector-referentie voor een volledige lijst met ondersteunde typetoewijzingen.