Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio: Utilizzo della replica logica di PostgreSQL con Aurora
La seguente procedura mostra come avviare la replica logica tra due cluster database Aurora PostgreSQL. Sia l'editore che il sottoscrittore devono essere configurati per la replica logica, come descritto in Configurazione della replica logica per il cluster database Aurora PostgreSQL.
Il cluster database Aurora PostgreSQL, che è l'editore designato, deve inoltre consentire l'accesso allo slot di replica. Per farlo, occorre modificare il gruppo di sicurezza associato al cloud privato virtuale (VPC) del cluster database Aurora PostgreSQL basato sul servizio Amazon VPC. Consentire l'accesso in entrata aggiungendo il gruppo di sicurezza associato al VPC del sottoscrittore al gruppo di sicurezza dell'editore. Per ulteriori informazioni, consultare Controlla il traffico verso le risorse utilizzando gruppi di sicurezza nella Guida per l'utente di Amazon VPC.
Una volta completati questi passaggi preliminari, puoi usare i comandi PostgreSQL CREATE
PUBLICATION sull'editore e CREATE SUBSCRIPTION sul sottoscrittore, come descritto nella procedura seguente.
Come avviare il processo di replica logica tra due cluster database Aurora PostgreSQL
Queste fasi presuppongono che i cluster database Aurora PostgreSQL dispongano di un'istanza di scrittura con un database in cui creare le tabelle di esempio.
-
Nel cluster database Aurora PostgreSQL dell'editore
-
Crea una tabella utilizzando la seguente istruzione SQL.
CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY); -
Inserire dati nel database del publisher utilizzando la seguente istruzione SQL.
INSERT INTO LogicalReplicationTest VALUES (generate_series(1,10000)); -
Verifica che i dati siano presenti nella tabella utilizzando la seguente istruzione SQL.
SELECT count(*) FROM LogicalReplicationTest; -
Crea una pubblicazione per questa tabella utilizzando l'istruzione
CREATE PUBLICATION, come descritto di seguito.CREATE PUBLICATION testpub FOR TABLE LogicalReplicationTest;
-
-
Nel cluster database Aurora PostgreSQL del sottoscrittore
-
Nel sottoscrittore, crea la stessa tabella
LogicalReplicationTestche hai creato nell'editore, come descritto di seguito.CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY); -
Verifica che questa tabella sia vuota.
SELECT count(*) FROM LogicalReplicationTest; -
Crea una sottoscrizione per ottenere le modifiche dall'editore. È necessario utilizzare i seguenti dettagli sul cluster database Aurora PostgreSQL dell'editore.
-
host: l’istanza database di scrittura del cluster database Aurora PostgreSQL dell'editore.
-
porta: la porta di ascolto dell’istanza database di scrittura. L'impostazione predefinita per PostgreSQL è l5432.
-
dbname: il nome del database.
CREATE SUBSCRIPTION testsub CONNECTION 'host=publisher-cluster-writer-endpointport=5432 dbname=db-nameuser=userpassword=password' PUBLICATION testpub;Nota
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.
Successivamente alla creazione della sottoscrizione, dal lato del publisher viene creato uno slot di replica logica.
-
-
Per verificare che nell’esempio i dati iniziali vengono replicati nel sottoscrittore, utilizzare la seguente istruzione SQL nel database del sottoscrittore.
SELECT count(*) FROM LogicalReplicationTest;
-
Ogni successiva modifica al publisher viene replicata nel sottoscrittore.
La replica logica influisce sulle prestazioni. Ti consigliamo di disattivare la replica logica al termine delle attività di replica.