Pré-requisitos
Antes de fazer a aterrissagem ou a replicação dos dados, certifique-se de atender aos seguintes pré-requisitos:
-
Instalar o driver necessário no servidor do Data Movement gateway
Nota informativaIsso apenas será necessário se você optar por trabalhar com o Data Movement gateway. Para obter informações sobre os benefícios do Data Movement gateway e quando ele é necessário, consulte Qlik Data Gateway - Data Movement.
Observe que o Data Movement gateway não está disponível com a assinatura do Iniciante do Qlik Talend Cloud.
-
Conceder as permissões necessárias na fonte de dados
-
Configurar o conector de fontes de dados
Configuração do driver
Você pode instalar o driver usando o utilitário de instalação do driver (recomendado) ou manualmente. A instalação manual só deve ser tentada no caso improvável de você encontrar um problema com o utilitário de instalação do driver.
Usando o utilitário de instalação de driver para instalar o driver
Esta seção descreve como instalar o driver necessário. O processo envolve a execução de um script que baixará, instalará e configurará automaticamente os driver necessários. Você também pode executar scripts para atualizar e desinstalar o driver como necessário.
Preparando a instalação
-
Certifique-se de que o Python 3.6.x ou mais recente esteja instalado no servidor de gateway do Movimentação de dados.
O Python vem pré-instalado na maioria das distribuições do Linux. Você pode verificar qual versão do Python está instalada em seu sistema executando o seguinte comando:
python3 --version
Instalando o driver
Para baixar e instalar o driver:
-
Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:
opt/qlik/gateway/movement/drivers/bin
-
Execute o seguinte comando:
Sintaxe:
./install postgres
Se o driver não puder ser baixado (devido a restrições de acesso ou problemas técnicos), uma mensagem será exibida informando onde baixar o driver e onde copiá-lo na máquina de gateway do Movimentação de dados. Depois de fazer isso, execute o comando install postgres novamente.
Caso contrário, o EULA do driver será exibido.
-
Realize uma das seguintes ações:
- Pressione [Enter] repetidamente para percorrer lentamente o EULA.
- Pressione a barra de espaço repetidamente para rolar rapidamente pelo EULA.
- Pressione q para sair do texto da licença e ser apresentado às opções de aceitação do EULA.
-
Realize uma das seguintes ações:
- Digite "y" e pressione [Enter] para aceitar o EULA e iniciar a instalação.
- Digite "n" e pressione [Enter] para rejeitar o EULA e sair da instalação.
-
Digite "v" e pressione [Enter] para visualizar o EULA novamente.
O driver será instalado.
Atualizando o driver
Execute o comando de atualização se quiser desinstalar versões anteriores do driver antes de instalar o driver fornecido.
Para baixar e atualizar o driver:
-
Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:
opt/qlik/gateway/movement/drivers/bin
-
Execute o seguinte comando:
Sintaxe:
./update postgres
Se o driver não puder ser baixado (devido a restrições de acesso ou problemas técnicos), uma mensagem será exibida informando onde baixar o driver e onde copiá-lo na máquina de gateway do Movimentação de dados. Depois de fazer isso, execute o comando update postgres novamente.
Caso contrário, o EULA do driver será exibido.
-
Realize uma das seguintes ações:
- Pressione [Enter] repetidamente para percorrer lentamente o EULA.
- Pressione a barra de espaço repetidamente para rolar rapidamente pelo EULA.
- Pressione q para sair do texto da licença e ser apresentado às opções de aceitação do EULA.
-
Realize uma das seguintes ações:
- Digite "y" e pressione [Enter] para aceitar o EULA e iniciar a instalação.
- Digite "n" e pressione [Enter] para rejeitar o EULA e sair da instalação.
- Digite "v" e pressione [Enter] para revisar o EULA desde o início.
O driver antigo será desinstalado, e o novo driver será instalado.
Desinstalando o driver
Execute o comando de desinstalação se quiser desinstalar o driver.
Para desinstalar o driver:
-
Pare todas as tarefas configuradas para usar esse conector.
-
Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:
opt/qlik/gateway/movement/drivers/bin
-
Execute o seguinte comando:
Sintaxe:
./uninstall postgres
O driver será desinstalado.
Instalando o driver manualmente
Você só deve tentar instalar o driver manualmente se a instalação automática do driver não for concluída com êxito.
Após a instalação do Data Movement gateway, baixe os seguintes arquivos do RPM. Você pode encontrar links diretos para download dos arquivos em binary-artifacts em /opt/qlik/gateway/movement/drivers/manifests/postgres.yaml. Assim que o download for concluído, copie os arquivos para a máquina Data Movement gateway.
Quando o Data Movement gateway está instalado no Red Hat 9.x:
- postgresql<version>-libs-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel9.x86_64.
Quando o Data Movement gateway está instalado no Red Hat 8.x:
- postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
- postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm
No servidor do Gateway Data Movement, abra um prompt de shell e faça o seguinte:
-
Pare o serviço do Gateway Data Movement:
sudo systemctl stop repagent
-
Opcionalmente, confirme se o serviço foi interrompido:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: inactive (dead) since <timestamp> ago
-
Instale os arquivos do RPM.
-
Altere o diretório de trabalho para <Gateway Data Movement-Install-Dir>/bin.
-
Copie a localização do driver para o arquivo site_arep_login.sh, conforme a seguir:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh
Isso adicionará o driver a "LD_LIBRARY_PATH" e atualizará a localização do driver no arquivo site_arep_login.sh.
-
Opcionalmente, confirme se a localização do driver foi copiada:
cat site_arep_login.sh
-
Certifique-se de que o arquivo /etc/odbcinst.ini contenha uma entrada para o PostgreSQL, como no exemplo a seguir:
[PostgreSQL]
Description = PostgreSQL ODBC driver
Driver = /usr/pgsql-13/lib/psqlodbc.so
Setup = /usr/pgsql-13/lib/psqlodbcw.so
UsageCount = 1
-
Inicie o serviço do Gateway Data Movement:
sudo systemctl start repagent
-
Opcionalmente, confirme se o serviço foi iniciado:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: active (running) since <timestamp> ago
Porta
Por padrão, a porta 5432 precisa ser aberta para comunicação de saída no servidor do Gateway Data Movement. Você pode alterar isso nas configurações do conector.
Capturando alterações de um banco de dados do PostgreSQL instalado pelo cliente
-
O endereço IP da máquina do Data Movement gateway deve ser adicionado ao arquivo de configuração pg_hba.conf com a palavra-chave "replication" no campo do banco de dados.
Exemplo:
host replication all 176.123.1.212/32 trust
-
Certifique-se de que o plug-in de saída test_decoding (encontrado no pacote postgresql12-contrib) esteja instalado.
-
O usuário especificado nas configurações de conexão deve receber permissões de leitura e gravação no banco de dados de origem para permitir a criação de "slots" no banco de dados. Os slots são necessários para ler as alterações.
-
Os seguintes parâmetros e valores devem ser definidos no arquivo de configuração postgresql.conf.
wal_level = logicalmax_replication_slots = number of replication slotsEm que number of replication slots deve ser maior que um e deve ser definido de acordo com o número de tarefas que você deseja executar. Por exemplo, para executar cinco tarefas, você precisa definir max_replication_slots = 5. Os slots são abertos automaticamente assim que uma tarefa é iniciada e permanecem abertos, mesmo quando a tarefa não está mais em execução. Observe que os slots abertos precisam ser excluídos manualmente.
max_wal_senders = number of concurrent tasks
Em quenumber of concurrent tasks deve ser maior que um e deve ser definido de acordo com o número de tarefas que você está executando simultaneamente. Por exemplo, para executar três tarefas simultaneamente, você precisa definir max_wal_senders = 3.
-
O parâmetro wal_sender_timeout encerra conexões inativas por mais tempo que o número especificado de milissegundos. O tempo limite padrão é de 60 segundos. Para desabilitar o mecanismo de tempo limite (opcional), defina este parâmetro como zero.
Nota informativaPor padrão, o valor do parâmetro wal_sender_timeout é interpretado pelo servidor como milissegundos. Para especificar segundos explicitamente, anexe um "s" ao valor como no exemplo a seguir:
wal_sender_timeout=60s
Para obter mais informações sobre os parâmetros de configuração, consulte a seção Replicação em Configuração do servidor na ajuda online do PostgreSQL.
Capturando alterações do Amazon RDS for PostgreSQL
Você pode usar a conta de usuário principal da AWS para a instância do banco de dados PostgreSQL como usuário do terminal de origem do Amazon RDS for PostgreSQL. A conta de usuário principal tem as funções necessárias que permitem configurar a Captura de dados de alterações (CDC).
Se você preferir não usar a conta de usuário principal, a conta que você quiser usar deverá ter a função rds_superuser e a função rds_replication. A função rds_replication concede permissões para gerenciar slots lógicos e transmitir dados usando slots lógicos.
Para habilitar a replicação lógica para uma instância de banco de dados PostgreSQL do Amazon RDS:
- Crie um novo grupo de parâmetros com a seguinte configuração:
- Defina o parâmetro rds.logical_replication no grupo de parâmetros do banco de dados como 1.
- max_wal_senders: o número de tarefas que podem ser executadas em paralelo.
- max_replication_slots: cada conexão (ou seja, tarefa) cria um novo slot. Esse parâmetro configura a quantidade de conexões simultâneas que podem ser estabelecidas com o banco de dados.
-
Vincule a instância do Amazon RDS ao grupo de parâmetros.
Capturando alterações do Microsoft Azure for PostgreSQL
Para poder capturar alterações do Microsoft Azure para PostgreSQL, você precisa definir a propriedade "replication" como "logical", conforme descrito nas etapas abaixo.
-
Abra a CLI do Azure e execute o seguinte comando:
Nota informativaVocê pode baixar a CLI ou conectar-se por meio de um comando shell no portal do Azure.
Sintaxe:
az postgres server configuration set --resource-group resource-group --server-name server-name --name azure.replication_support --value logical
Exemplo:
az postgres server configuration set --resource-group azuredb --server-name qlik-azure-pg --name azure.replication_support --value logical
- Reinicie o banco de dados (usando a linha de comando ou via portal).
Capturando alterações do Google Cloud SQL para PostgreSQL
Para poder capturar alterações do banco de dados, você precisa configurar a replicação lógica.
Para configurar a replicação lógica:
-
Na Google Cloud Platform, defina os seguintes sinalizadores nas configurações do PostgreSQL:
- cloudsql.logical_decoding=on
- max_replication_slots: Cada conexão (ou seja, tarefa) cria um novo slot; este parâmetro configura a quantidade de conexões simultâneas que podem ser estabelecidas com o banco de dados. Se você encontrar problemas de desempenho, aumentar esse valor poderá ajudar.
- max_wal_senders: O número de tarefas que podem ser executadas em paralelo. Se você encontrar problemas de desempenho, aumentar esse valor poderá ajudar.
Para obter mais informações sobre esses parâmetros, consulte https://www.postgresql.org/docs/current/runtime-config-replication.html
-
No banco de dados, altere o usuário especificado nas configurações de connector (username) para dar suporte à replicação:
ALTER USER username WITH REPLICATION;