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:
- La tabella ha un indice B-tree univoco.
- L'indice non include colonne dei seguenti tipi:
DOUBLE
,FLOAT
,MONEY
,REAL
,JSON
,JSONB
,BYTEA
,TXID
,XML
o tipi di dati geometrici. - Nessuna delle colonne dell'indice può ammettere valori nulli.
- Tutte le colonne dell'indice sono in ordine crescente o tutte le colonne dell'indice sono in ordine decrescente.
- 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 datiDATE
,TIMESTAMP
oTIMESTAMP WITH TIME ZONE
. Queste colonne vengono ignorate. - Datastream non supporta la replica degli eventi
UPDATE
per le righe che includono valoriTOAST
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
oJSONB
con più di 2950 oggetti nidificati. Gli eventi contenenti questi valoriJSON
oJSONB
non vengono replicati nel database di destinazione. - Datastream non supporta la replica delle righe che includono valori
NaN
nelle colonneNUMERIC (precision, scale)
. I valori in queste colonne vengono sostituiti con valoriNULL
. - 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
- Scopri come configurare un'origine PostgreSQL per l'utilizzo con Datastream.