Ir para conteúdo principal Pular para conteúdo complementar

PostgreSQL

Esta seção explica como configurar a conectividade com um destino PostgreSQL usando o conector Destino PostgreSQL. O PostgreSQL pode ser usado como destino apenas em uma tarefa de replicação. Antes de se conectar a um destino do PostgreSQL você precisa configurar o Permissões necessárias no banco de dados. Se você estiver se conectando ao PostgreSQL via Data Movement gateway, também precisará instalar o driver, conforme descrito em Configuração do driver.

Para obter informações sobre as limitações e considerações ao usar o conector do PostgreSQL, consulte Limitações e considerações.

Configurando propriedades de conexão

Esta seção descreve as propriedades de conexão disponíveis. Todas as propriedades são obrigatórias, salvo indicação em contrário.

Destino de dados

  • Gateway de dados: Selecione o Data Movement gateway que será usado para testar a conexão com o destino do PostgreSQL. Deve ser o mesmo gateway usado para acessar a fonte de dados.

    Nota informativa
    • Requer o Data Movement gateway 2023.5.10 ou versão posterior.
    • Você também precisa instalar o driver apropriado na máquina do Data Movement gateway. Para detalhes, consulte Configuração do driver abaixo.

  • Provedor de nuvem: Escolha um dos seguintes, conforme apropriado:

      • PostgreSQL no local
      • Amazon Aurora
      • Azure Database for PostgreSQL - Flexible Server.
    • Para o Amazon RDS for PostgreSQL.

      • Google Cloud SQL for PostgreSQL
      • Google Cloud AlloyDB for PostgreSQL
    • Para o Microsoft Azure Database for PostgreSQL.

  • Host: O nome do host ou endereço IP do computador no qual o banco de dados PostgreSQL está instalado.

  • Porta: A porta a ser usada ao conectar-se ao banco de dados. O padrão é 5432.

Propriedades da conta

Nome de usuário e Senha: O nome de usuário e a senha de um usuário autorizado a acessar o banco de dados PostgreSQL Server.

Propriedades do banco de dados

  • Nome do banco de dados: há dois métodos que você pode usar para especificar um banco de dados:

    • Método 1 - Selecionar em uma lista: Clique em Carregar bancos de dados e selecione um banco de dados.
    • Método 2 - Manualmente: Selecione Inserir nome do banco de dados manualmente e insira o nome do banco de dados.
  • Modo SSL: Selecione uma das seguintes opções:
    • desabilitar - conecte-se apenas com um sobrenome e senha.
    • permitir - estabeleça uma conexão criptografada se solicitado pelo servidor.
    • preferir - este é o padrão. Estabelece uma conexão criptografada se o servidor oferecer suporte a conexões criptografadas, retornando a uma conexão não criptografada se uma conexão criptografada não puder ser estabelecida.
    • Obrigatório - estabelece uma conexão criptografada se o servidor oferecer suporte a conexões criptografadas. A tentativa de conexão falhará se uma conexão criptografada não puder ser estabelecida.
    • verify-ca - semelhante a Obrigatório, mas também verifica o certificado da Autoridade de Certificação (CA) do servidor em relação aos certificados de CA configurados. A tentativa de conexão falha se nenhum certificado de CA correspondente válido for encontrado.
    • verify-full - semelhante a Verificar CA, mas também executa a verificação de identidade do nome do host verificando o nome do host que o cliente (ou seja, o Gateway Data Movement usa para se conectar ao servidor em relação à identidade no certificado que o servidor envia ao cliente. O cliente verifica se o nome do host que ele usa para conexão corresponde ao valor do Nome Comum no certificado do servidor. A conexão falha se houver uma incompatibilidade.
  • Certificado de confiança: a Autoridade de Certificação (CA) que emitiu o arquivo de certificado do cliente no formato PEM.
  • Certificado cliente: carregue o certificado do cliente solicitado pelo servidor.
  • Chave do certificado cliente: O arquivo de chave privada do cliente no formato PEM.
  • CRL: O certificado CRL. Este arquivo contém certificados revogados por autoridades de certificação. Se o certificado do servidor aparecer nesta lista, a conexão falhará.
  • Compactação SSL: selecione esta opção para compactar os dados antes de serem criptografados.
  • Tamanho máximo de arquivo (KB): Selecione ou digite o tamanho máximo (em KB) de um arquivo CSV antes de carregá-lo no banco de dados de destino PostgreSQL. O valor padrão é 32.000 KB.

Propriedades internas

Propriedades internas são para casos de uso especiais e, portanto, não são expostas na caixa de diálogo. Você só deve usá-las se instruído pelo Suporte da Qlik.

Use os botões Criar novo e Cancelar à direita dos campos para adicionar ou remover propriedades conforme necessário.

Nome

O nome de exibição da conexão.

Pré-requisitos

Permissões necessárias

O usuário especificado nas configurações do conector deve ser um usuário registrado no banco de dados PostgreSQL.

Além disso, os seguintes privilégios devem ser concedidos:

  • Pode fazer login
  • Criar bancos de dados
Nota informativaSe o esquema de destino já existir no banco de dados, o privilégio "Criar bancos de dados" não será necessário.

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.

  • 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

Para baixar e instalar o driver:

  1. Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:

    opt/qlik/gateway/movement/drivers/bin

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

  3. 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.
  4. 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.

  5. O driver será instalado.

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:

  1. Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:

    opt/qlik/gateway/movement/drivers/bin

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

  3. 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.
  4. 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.
  5. O driver antigo será desinstalado, e o novo driver será instalado.

Execute o comando de desinstalação se quiser desinstalar o driver.

Para desinstalar o driver:

  1. Pare todas as tarefas configuradas para usar esse conector.

  2. Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:

    opt/qlik/gateway/movement/drivers/bin

  3. Execute o seguinte comando:

    Sintaxe:

    ./uninstall postgres

    O driver será desinstalado.

Instalando os drivers e bibliotecas 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:

  1. Pare o serviço do Gateway Data Movement:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme se o serviço foi interrompido:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: inactive (dead) since <timestamp> ago

  3. Instale os arquivos do RPM.

  4. Altere o diretório de trabalho para <Gateway Data Movement-Install-Dir>/bin.

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

  6. Opcionalmente, confirme se a localização do driver foi copiada:

    cat site_arep_login.sh
  7. 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

  8. Inicie o serviço do Gateway Data Movement:

    sudo systemctl start repagent

  9. Opcionalmente, confirme se o serviço foi iniciado:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: active (running) since <timestamp> ago

Limitações e considerações

As seguintes limitações se aplicam ao usar o PostgreSQL como destino de replicação:

  • As operações UPDATE e DELETE em tabelas sem chave primária/índice exclusivo que contenham registros duplicados não têm suporte. Quaisquer alterações nessas tabelas afetarão todos os registros no destino.
  • Tabelas com uma coluna LOB na chave não têm suporte no modo de Aplicação otimizado em lote. Quando uma coluna VARBINARY for usada como chave da tabela de origem, uma coluna BYTEA será criada no destino. Isso causa um comportamento imprevisível no modo de aplicação otimizado em lote. Como solução alternativa, sugerimos usar a função SQLite HEX para converter VARBINARY em VARCHAR.

Tipos de dados

As informações do tipo de dados nativo são preservadas e exibidas na coluna Tipo de dados nativo nas visualizações do conjunto de dados. Se a coluna não estiver visível, será necessário abrir o seletor de colunas da visualização do conjunto de dados e selecionar a coluna Tipo de dados nativo.

Tipos de dados
Qlik Cloud Tipos de dados Tipos de dados do PostgreSQL

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

Se a escala for => 0 e =< 6:

TIMESTAMP

Se escala for => 7 e =< 12:

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

Se comprimento for 1 - 21845, então:

VARCHAR (Comprimento em Bytes = O valor STRING multiplicado por três)

Se comprimento for de 21846 a 2147483647, então:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

Se comprimento for 1 - 21845, então:

VARCHAR (Comprimento em Bytes = O valor WSTRING multiplicado por três)

Se comprimento for de 21846 a 2147483647, então:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

Tipos de dados ao replicar de uma origem PostgreSQL

Ao replicar de uma origem PostgreSQL, a tabela de destino será criada com os mesmos tipos de dados para todas as colunas, exceto colunas com tipos de dados definidos pelo usuário ou PostGIS. Nesses casos, o tipo de dados será criado como "caractere variável" no destino.

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!