Vai al contenuto principale Passa a contenuto complementare

Impostazione del failover

Nota informatica
  • Le procedure descritte in questo argomento devono essere eseguite dal DBA PostgreSQL.
  • Richiede Data Movement gateway 2024.11.14 o versione successiva.

Questo argomento spiega come impostare PostgreSQL e Data Movement gateway per supportare uno scenario di failover. La procedura da eseguire dipende dalla propria configurazione di failover specifica per PostgreSQL.

Se l'ID dell'oggetto del database primario e di quello secondario rimane lo stesso dopo un failover (cosa che accade spesso), basta aggiornare il file hosts sul computer di Data Movement gateway con l'indirizzo IP del server del database secondario. Tuttavia, se l'ID dell'oggetto del database secondario non è lo stesso del database primario dopo un failover, è necessaria un'ulteriore configurazione. Di solito non è possibile sapere in anticipo se l'ID dell'oggetto cambierà, ma qualora si sappia, eseguire la procedura Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è differente, descritta di seguito. Se non si sa se l'ID dell'oggetto cambierà, si consiglia di eseguire la procedura più semplice descritta in Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è lo stesso, in quanto l'ID dell'oggetto di norma rimane lo stesso dopo un failover.

Se si è eseguita la configurazione più semplice e Data Movement gateway non riesce a eseguire il ripristino durante il failover, è necessario eseguire la procedura Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è differente.

Nota informaticaMentre la procedura Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è lo stesso è supportata sia con i progetti di replica che con le attività di trasferimento nei progetti Pipeline di dati, la procedura Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è differente è supportata solo con i progetti di replica.

Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è lo stesso

Quando si verifica un failover, l'attività dati riscontrerà un errore recuperabile e cercherà di riconnettersi all'indirizzo IP del server del database primario. Tuttavia, di norma questa operazione non viene completata, poiché il server del database secondario avrà (quasi sempre) un indirizzo IP diverso.

Se il cambio di indirizzi IP non è gestito da un servizio di failover DNS, è necessario specificare il nuovo indirizzo IP nel file hosts del computer di Data Movement gateway. Il percorso del file hosts è /etc/hosts. Dopo l'aggiornamento del file hosts, l'attività dati riprenderà automaticamente.

Impostazione del failover quando l'ID dell'oggetto del database primario e secondario è lo differente

Nota informaticaQuesta operazione è supportata solo con i progetti di replica.

Nelle operazioni standard, l'attività dati crea automaticamente uno slot quando si spostano i dati da una sorgente PostgreSQL. I nomi degli slot contengono l'ID dell'oggetto del database nel nome. In rari casi, l'ID dell'oggetto del database primario e di quello secondario saranno diversi. In tal caso, l'attività dati non verrà completata durante un failover, poiché non sarà in grado di trovare lo slot creato per il database primario nel database secondario. In questo caso, si verificherà il seguente errore:

[SOURCE_CAPTURE ]E: Can't resume task after replication slot was dropped. [1020101] (postgres_endpoint_capture.c:445)

Se si riscontra un errore di questo tipo, fare quanto segue:

  1. Nella sezione Proprietà interne delle impostazioni del connettore, aggiungere la proprietà interna slotName e impostare il valore del nome dello slot.

    Il valore slotName specificato deve già esistere nel server PostgreSQL primario. È possibile creare un nuovo slot o utilizzare uno slot esistente.

    Per creare un nuovo slot e recuperare il relativo LSN, eseguire la seguente query:

    SELECT lsn FROM pg_create_logical_replication_slot ('user_provided_slot_name', 'test_decoding');

    Per un elenco degli slot disponibili e dei relativi LSN, eseguire la seguente query:

    SELECT slot_name, restart_lsn FROM pg_replication_slots WHERE slot_type = 'logical';

  2. Inserire il valore LSN per slotName specificato nel campo Posizione modifiche sorgente della finestra di dialogo Opzioni di esecuzione avanzate, quindi preparare e avviare l'attività dati.

    Se si verifica un failover, il server secondario subentrerà quasi immediatamente e diventerà il server primario. Il failover dovrebbe essere gestito dall'estensione pg_failover_slots.

  3. Quando si verifica un failover, l'attività dati riscontrerà un errore recuperabile e cercherà di riconnettersi all'indirizzo IP del server del database primario. Tuttavia, l'operazione di norma non verrà completata poiché il server del database secondario avrà, quasi sempre, un indirizzo IP differente. Se il cambio di indirizzi IP non è gestito da un servizio di failover DNS, è necessario specificare il nuovo indirizzo IP nel file hosts del computer di Data Movement gateway. Il percorso del file hosts è /etc/hosts. Dopo l'aggiornamento del file hosts, l'attività dati riprenderà automaticamente.

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!