Configurazione di un database PostgreSQL Amazon RDS

La pagina seguente illustra come configurare CDC per un database Amazon RDS per PostgreSQL.

Crea un gruppo di parametri

  1. Avvia la dashboard di Amazon RDS.

  2. 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.

  3. Seleziona la famiglia di database che corrisponde al tuo database, fornisci un nome e una descrizione per il gruppo di parametri e fai clic su Crea.

  4. Seleziona la casella di controllo a sinistra del gruppo di parametri appena creato e poi, in Azioni gruppo di parametri, fai clic su Modifica.

  5. Imposta il seguente parametro per il gruppo.

    ParametroValore
    logical_replication1
  6. Fai clic su Salva modifiche.

Configura il database di origine

  1. Avvia la dashboard di Amazon RDS.

  2. Nel riquadro di navigazione a scomparsa, fai clic su Database.

  3. Seleziona l'origine, quindi fai clic su Modifica.

  4. Vai alla sezione Configurazione aggiuntiva.

  5. Seleziona il gruppo di parametri che hai creato.

  6. Fai clic su Continua.

  7. In Pianificazione delle modifiche, seleziona Applica immediatamente.

Verifica che il gruppo di parametri sia assegnato all'istanza di database

  1. Avvia la dashboard di Amazon RDS.

  2. Nel riquadro di navigazione a scomparsa, fai clic su Database e seleziona l'istanza di database.

  3. Fai clic sulla scheda Configurazioni.

  4. Verifica che sia visualizzato il gruppo di parametri che hai creato e che il relativo stato sia riavvio in attesa.

  5. Riavvia l'istanza di database per completare la configurazione. Per riavviare l'istanza:

    1. Nel riquadro di navigazione a scomparsa, fai clic su Istanze.
    2. Seleziona l'istanza di database.
    3. Dal menu Azioni istanza, seleziona Riavvia.

Crea una pubblicazione e uno slot di replica

  1. Creare una pubblicazione. Ti consigliamo di creare una pubblicazione solo per le tabelle che vuoi replicare. In questo modo, Datastream può solo leggere i dati pertinenti e riduce 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 tua pubblicazione. Dovrai fornire questo nome quando crei un flusso nella procedura guidata di creazione dei flussi di Datastream.
    • SCHEMA: il nome dello schema che contiene la tabella.
    • TABLE: il nome della tabella che vuoi replicare.

    Puoi creare una pubblicazione per tutte le tabelle di uno schema. Questo approccio consente di replicare le modifiche per le tabelle nell'elenco specificato di schemi, incluse le tabelle che creerai in futuro:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLES IN SCHEMA1, SCHEMA2;

    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;
    
  2. 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 un flusso nella procedura guidata di creazione dei flussi di Datastream.

Crea un utente Datastream

  1. 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 dell'utente Datastream che vuoi creare.
  2. 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;
    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.