Database PostgreSQL di origine

Questa sezione contiene informazioni su:

  • Il comportamento di Datastream per la gestione dei dati estratti da un database PostgreSQL di origine
  • Le versioni del database PostgreSQL supportate da Datastream
  • Una panoramica su come configurare un database PostgreSQL di origine in modo che i dati possano essere trasmessi in streaming a una destinazione
  • Limitazioni note per l'utilizzo del database PostgreSQL come origine

Comportamento

Il database PostgreSQL di origine si basa sulla funzionalità di decodifica logica. La decodifica logica espone tutte le modifiche committate al database e consente di utilizzarle ed elaborarle in un formato intuitivo utilizzando un plug-in di output. Datastream utilizza il plug-in pgoutput, che è il plug-in di decodifica logica PostgreSQL standard per PostgreSQL 10 e versioni successive.

  • È possibile selezionare tutti gli schemi o schemi specifici di una determinata origine PostgreSQL, nonché tutte le tabelle dello schema o tabelle specifiche.
  • Tutti i dati storici vengono replicati.
  • Tutte le modifiche al data manipulation language (DML), come inserimenti, aggiornamenti ed eliminazioni dai database e dalle tabelle specificati, vengono replicate.
  • Vengono replicate solo le modifiche committate.
  • Se definisci un'IDENTITÀ REPLICA in una tabella, Datastream tratta le colonne specificate come chiavi primarie.

Versioni

Datastream supporta PostgreSQL versione 10 e successive.

Datastream supporta i seguenti tipi di database PostgreSQL:

  • PostgreSQL self-hosted
  • Cloud SQL per PostgreSQL
  • AlloyDB per PostgreSQL
  • AlloyDB Omni
  • Amazon RDS per PostgreSQL
  • Amazon Aurora PostgreSQL

Limitazioni note

Le limitazioni note per l'utilizzo di Datastream con un database PostgreSQL come origine includono:

  • Gli stream sono limitati a 10.000 tabelle.
  • Non è possibile eseguire il backfill di una tabella con più di 500 milioni di righe, a meno che non siano soddisfatte le seguenti condizioni:
    1. La tabella ha un indice B-tree univoco.
    2. L'indice non include colonne dei seguenti tipi: DOUBLE, FLOAT, MONEY, REAL, JSON, JSONB, BYTEA, TXID, XML o tipi di dati geometrici.
    3. Nessuna delle colonne dell'indice può ammettere valori nulli.
    4. Tutte le colonne dell'indice sono in ordine crescente o tutte le colonne dell'indice sono in ordine decrescente.
    5. Tutte le colonne dell'indice sono incluse nello stream.
  • Le tabelle senza chiavi primarie devono avere un attributo REPLICA IDENTITY. In caso contrario, solo gli eventi INSERT vengono replicati nella destinazione.
  • Datastream non può eseguire la replica da un'istanza di replica di lettura per le versioni di PostgreSQL precedenti a PostgreSQL 16.
  • Non tutte le modifiche allo schema di origine possono essere rilevate automaticamente, nel qual caso potrebbe verificarsi la corruzione dei dati. Le seguenti modifiche allo schema potrebbero causare il danneggiamento dei dati o l'elaborazione non corretta degli eventi a valle:
    • Eliminazione di colonne.
    • Aggiunta di colonne al centro di una tabella.
    • Modifica del tipo di dati di una colonna.
    • Riordinare le colonne.
    • Eliminazione di tabelle (pertinente se la stessa tabella viene poi ricreata con l'aggiunta di nuovi dati).
  • Datastream non supporta le colonne dei tipi di dati geometric.
  • Datastream non supporta le colonne dei tipi di dati range.
  • Datastream non supporta gli array di tipi di dati non supportati, gli array di tipi di dati definiti dall'utente (incluso ENUM) o gli array di tipi di dati DATE, TIMESTAMP o TIMESTAMP WITH TIME ZONE. Queste colonne vengono ignorate.
  • Datastream non supporta la replica degli eventi UPDATE per le righe che includono valori TOAST nelle colonne che fanno parte dell'identità della replica della tabella. Questi eventi vengono ignorati.
  • Datastream non supporta la replica di righe che includono valori JSON o JSONB con più di 2950 oggetti nidificati. Gli eventi contenenti questi valori JSON o JSONB non vengono replicati nel database di destinazione.
  • Datastream non supporta la replica delle righe che includono valori NaN nelle colonne NUMERIC (precision, scale). I valori in queste colonne vengono sostituiti con valori NULL.
  • Datastream non supporta la replica delle colonne del tipo di dati hstore. I valori in queste colonne vengono sostituiti con valori NULL.
  • Datastream non supporta le connessioni SSL/TLS che richiedono certificati client.
  • Datastream non supporta la replica di record non ASCII da un database di origine con codifica SQL_ASCII. Questi record vengono ignorati.
  • Datastream non supporta la replica delle tabelle con criteri di sicurezza a livello di riga (RLS) definiti. Per informazioni su come aggirare questa limitazione, consulta Comportamento e limitazioni delle origini PostgreSQL.
  • Datastream non acquisisce le modifiche apportate alle colonne generate.

Passaggi successivi