Configura un database Cloud SQL per PostgreSQL

Le sezioni seguenti descrivono come configurare un database Cloud SQL per PostgreSQL.

Abilita la replica logica

  1. Vai a Cloud SQL nella console Google Cloud.

  2. Apri l'istanza Cloud SQL e fai clic su MODIFICA.

  3. Vai alla sezione Flag.

  4. Fai clic su AGGIUNGI FLAG.

  5. Scegli il flag cloudsql.logical_decoding dal menu a discesa.

  6. Imposta il valore del flag su on.

  7. Fai clic su SALVA per salvare le modifiche. Dovrai riavviare l'istanza per aggiornarla con le modifiche.

  8. Una volta riavviata l'istanza, conferma le modifiche in Flag di database nella pagina Panoramica.

Crea una pubblicazione e uno slot di replica

  1. Connettiti al database come utente con privilegi sufficienti per creare uno slot di replica; altrimenti, esegui questo comando:

    ALTER USER USER_NAME WITH REPLICATION;
    

    Sostituisci quanto segue:

    • USER_NAME: il nome dell'utente a cui vuoi concedere privilegi di replica.
  2. 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;
    
  3. Crea uno slot di replica inserendo il seguente comando SQL:

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

Crea un utente Datastream

  1. Connettiti al database utilizzando un client PostgreSQL.

  2. Inserisci il seguente comando PostgreSQL:

    CREATE USER USER_NAME WITH REPLICATION LOGIN 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.
  3. Concedi i privilegi seguenti all'utente che hai creato:

    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:

    • SCHEMA_NAME: il nome dello schema a cui vuoi concedere i privilegi.
    • USER_NAME: l'utente a cui vuoi concedere i privilegi.