Per trasmettere in streaming gli aggiornamenti di Change Data Capture (CDC) alle
destinazioni supportate, come
BigQuery o Cloud Storage, puoi connettere un database Amazon RDS per
PostgreSQL a Datastream. Per preparare l'istanza di origine, devi attivare il parametro rds.logical_replication, creare una pubblicazione e uno slot di replica e configurare un utente Datastream.
Crea un gruppo di parametri
Avvia la dashboard di Amazon RDS.
Nel riquadro di navigazione a scomparsa, fai clic su Gruppi di parametri e poi su Crea gruppo di parametri. Viene visualizzata la pagina Crea gruppo di parametri.
Seleziona la famiglia di database che corrisponde al tuo database, fornisci un nome e una descrizione per il gruppo di parametri, quindi fai clic su Crea.
Seleziona la casella di controllo a sinistra del gruppo di parametri appena creato, quindi, in Azioni gruppo di parametri, fai clic su Modifica.
Imposta il seguente parametro per il gruppo.
Parametro Valore rds.logical_replication 1Fai clic su Salva modifiche.
Configura il database di origine
Avvia la dashboard di Amazon RDS.
Nel riquadro di navigazione a scomparsa, fai clic su Database.
Seleziona l'origine, quindi fai clic su Modifica.
Vai alla sezione Configurazione aggiuntiva.
Seleziona il gruppo di parametri che hai creato.
Fai clic su Continua.
In Pianificazione delle modifiche, seleziona Applica immediatamente.
Verifica che il gruppo di parametri sia assegnato all'istanza di database
Avvia la dashboard di Amazon RDS.
Nel riquadro di navigazione a scomparsa, fai clic su Database e poi seleziona l'istanza di database.
Fai clic sulla scheda Configurazioni.
Verifica che il gruppo di parametri che hai creato sia presente e che il suo stato sia pending-reboot.
Riavvia l'istanza di database per completare la configurazione. Per riavviare l'istanza:
- Nel riquadro di navigazione a scomparsa, fai clic su Istanze.
- Seleziona l'istanza di database.
- Dal menu Azioni istanza, seleziona Riavvia.
Crea una pubblicazione e uno slot di replica
Crea una pubblicazione. Ti consigliamo di creare una pubblicazione solo per le tabelle che vuoi replicare. In questo modo, Datastream leggerà solo i dati pertinenti e ridurrà il carico sul database e su Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
Sostituisci quanto segue:
- PUBLICATION_NAME: il nome della pubblicazione. Dovrai fornire questo nome quando crei uno stream nella procedura guidata di creazione degli stream Datastream.
- SCHEMA: il nome dello schema che contiene la tabella.
- TABLE: il nome della tabella che vuoi replicare.
Puoi anche creare una pubblicazione per tutte le tabelle del database. Tieni presente che questo approccio aumenta il carico sia sul database di origine sia su Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
Crea uno slot di replica inserendo il seguente comando PostgreSQL:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');Sostituisci quanto segue:
- REPLICATION_SLOT_NAME: il nome dello slot di replica. Dovrai fornire questo nome quando crei uno stream nella procedura guidata di creazione degli stream Datastream.
Crea un utente Datastream
Per creare un utente Datastream, inserisci il comando PostgreSQL seguente:
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
Sostituisci quanto segue:
- USER_NAME: il nome dell'utente Datastream che vuoi creare.
- USER_PASSWORD: la password di accesso per l'utente Datastream che vuoi creare.
Concedi i privilegi seguenti all'utente che hai creato:
GRANT RDS_REPLICATION TO USER_NAME; GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME; GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;
Sostituisci quanto segue:
- USER_NAME: l'utente a cui vuoi concedere i privilegi.
- SCHEMA_NAME: il nome dello schema a cui vuoi concedere i privilegi.
Passaggi successivi
- Scopri di più su come Datastream funziona con le origini PostgreSQL.