PostgreSQL

O PostgreSQL é um sistema gerenciador de banco de dados objeto relacional, desenvolvido como projeto de código aberto. A Dadosfera replica dados do seu banco de origem PostgreSQL e carrega no destino.

Funcionalidades

FuncionalidadeSuportadoNotas
Coleta de views da fonteSim
Definir frequência da pipelineSimPara mais detalhes, acesse.
Seleção das entidadesSim
Sincronização Full loadSim
Sincronização Incremental - AppendSim
Seleção de colunasSim
Micro-transformação: HashSim
Conexão via VPNSimOpcional. Cadastre sua VPN para ser possível acessar seu banco privado.
Criptografia: Protocolo TLS (Transport Layer Security)SimObrigatório caso a conexão seja direta (sem VPN).

Guia rápido

Para iniciar a criação de uma Pipeline, basta ir no módulo Coletar, "Pipelines" aperte em "Nova Pipeline".

Escolha a fonte de dados

Utilize uma fonte já cadastrada ou cadastre uma nova.

Parâmetros para conexão (cadastro da fonte)

Nome do campoDescriçãoExemplo
EndpointEndereço público de conexão do seu banco de dados. Nos formatos válidos de IPv4 ou DNS32.142.63.4
Número da portaPorta do banco5342
Tipo de conexãoCaso seus dados estejam armazenados em uma rede privada, escolha uma VPN que já tenha sido cadastrada e tenha autorização para acessar os dados. Caso contrário, utilize a conexão direta.
UsuárioUsuário do bancoadmin
SenhaSenha do banco do usuário
DatabaseNome do banco em que você quer conectarmy-db

Informações da pipeline

Atribua o nome e uma breve descrição para sua Pipeline.

Parâmetros para configurações da pipeline

Escolha o método de conexão

Requisitos
Acesso à uma versão do banco compatível com nosso conector.

Em caso de dúvidas se o banco utilizado é compatível, entre em contato com o time de suporte.

Para consultar sua versão, rode o seguinte script no seu banco PostgreSQL:

SELECT version();
Permitir a conexão da Dadosfera com seu banco de dados.

Isso irá depender da sua configuração de rede. A melhor forma de certificar se o seu banco de dados está acessível para a Dadosfera é através da interface, utilizando o teste de conexão.

  • No caso de bancos públicos, não é necessário nenhum tipo de configuração para acesso ao banco.
  • No caso de bancos privados, é necessário cadastrar sua VPN na Dadosfera, a qual será utilizada para acesso ao banco. Para realizar o cadastro, entre em contato com o time de suporte.

Caso ainda assim seu banco não estiver acessível, verifique se o usuário utilizado possui acesso de leitura ao database escolhido.

📘

Protocolo TLS (Transport Layer Security)

Caso não estiver utilizando VPN para acessar seu banco, é obrigatório ter o TLS habilitado para se conectar diretamente à Dadosfera. Saiba como habilitar o TLS em seu banco de dados na seção Segurança do manual de referência do PostgreSQL para sua versão de banco de dados.

No caso de utilização de VPN, a configuração do protocolo é opcional, porém altamente recomendável.

Criar um usuário Dadosfera somente para leitura com acesso a todas as tabelas e views que serão extraídas.

Esta etapa é opcional, porém altamente recomendada para melhor controle de permissão e auditoria. Caso preferir, você realizar a conexão utilizando um usuário existente em seu banco de dados normalmente.

Para criar um usuário de banco de dados dedicado, execute os seguintes comandos em seu banco de dados:

CREATE USER <username> PASSWORD 'your_password';
GRANT CONNECT ON DATABASE <database_name> TO <username>;

Conceda o acesso de leitura a todas as tabelas dentro de um schema específico:

GRANT USAGE ON SCHEMA <schema_name> TO <username>;
GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <username>;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA <schema_name> TO <username>;

Conceda acesso a novas tabelas que serão criadas no schema:

ALTER DEFAULT PRIVILEGES IN SCHEMA <schema_name> GRANT SELECT ON TABLES TO <username>;

A permissão de acesso é realizado por schema. Para especificar novos schemas, repita os comandos descritos na segunda etapa.

Criar um usuário Dadosfera somente para leitura das materialized views.

Esta etapa é opcional no caso de desejar coletar materialized views do PostgreSQL

Para criar um usuário de banco de dados dedicado para leitura de materialized views, execute os seguintes comandos em seu banco de dados:

CREATE ROLE <role>
    WITH LOGIN SUPERUSER
    PASSWORD 'your_password'
;

Faça login via psql como a nova . A consulta current_user permite que você verifique novamente sua função atual. Isso é importante ao testar permissões relacionadas à função.

SELECT current_user;
┌──────────────┐
│ current_user │
╞══════════════╡
│ <role>       │
└──────────────┘

Como a , crie uma .

CREATE MATERIALIZED VIEW <materialized view> AS
SELECT id, MD5((id * random())::TEXT) AS val
    FROM generate_series(1, 3) id
;

Insira os dados de configuração da pipeline

Nome do campoDescriçãoExemplo
SchemaColeção de objetos do banco de dadosnome_do_schema

Aperte em "Testar Conexão" e, em caso de sucesso na conexão, clique em "Salvar e Continuar".

Se o Teste de Conexão persistir com falha, mesmo após seguir as recomendações acima, entre em contato através do suporte.

Especificar entidades

Após o teste de conexão você estará apto a visualizar e selecionar quais entidades - tabelas e views - da fonte conectada serão importados na coleta de dados e as colunas que serão importadas.

Além disso, pode definir o modo de sincronização por entidade. Para saber mais, acesse.

📘

Ao selecionar mais de uma entidade, para cada tabela ou view importada será criado um dataset diferente no catálogo.

📘

Tipo de dados aceitos para serem campos de referência da coletar incremental

  • bigint
  • bigserial
  • date
  • integer
  • numeric
  • smallint
  • smallserial
  • serial
  • timestamp without time zone
  • timestamp with time zone

📘

Observações gerais sobre tipos de dados:

  • Uma coluna somente será reconhecida como o tipo number quando todos os elementos da coluna forem números inteiros.

  • Uma coluna somente será reconhecida como sendo do tipo float quando todos os elementos da coluna seguirem o padrão do tipo de dado para números de pontos flutuante, ou seja, um número racional (ex: xxxx.xx).

  • O uso de vírgulas na formatação numérica (x,xxx.xx) implica em uma conversão de uma coluna do tipo text.

Micro-transformação

Na Dadosfera utilizamos o paradigma ELT, ou seja, as transformações são realizadas após o carregamento dos dados. No entanto, durante a criação da pipeline é possível realizar micro-transformações já disponíveis na Dadosfera

A micro-transformação disponível na versão atual é "Criptografar" (tecnicamente chamado de Hash), com o qual o evento da coluna selecionada é criptografado mantendo um padrão. Caso houver dados repetidos em mais de uma linha, o resultado será o mesmo. São aplicadas de evento a evento ou em micro-batches.

📘

Ex: "Alexandre" será transformado em "AdhSOidjdBWIOU&562)&y2396" em todas as linhas que conter a palavra "Alexandre".

Frequência

  • Por último, configure a frequência desejada para que sua pipeline rode. É possível escolher dentre as opções apresentadas ou inserir uma frequência customizada através de uma expressão cron. Para saber mais, acesse.

📘

  • O fuso horário padrão utilizado na frequência é o UTC.

  • Todos os métodos de frequência definem quando as extrações serão iniciadas. Eles não controlam por quanto tempo o trabalho de replicação será executado ou quando os dados estarão efetivamente no destino.

Pronto! Agora basta aguardar a coleta ser feita no horário e dia agendado.

Caso queira executar a pipeline imediatamente, é possível executá-la manualmente em até 30 segundos após a criação da pipeline. Vá em "Pipelines", "Lista" e "Sincronizar Pipeline".

Após alguns minutos, sua pipeline estará catalogada na aba de exploração como um Data Asset.

É possível também consultar na lista de pipelines os detalhes da pipeline, como: resumo, lista de entidades e colunas coletadas, histórico de execução e de micro-transformação, em "Ver pipeline".