Usar o PostgreSQL como origem para AWS SCT - AWS Schema Conversion Tool

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usar o PostgreSQL como origem para AWS SCT

Você pode usar a AWS SCT para converter esquemas, objetos de código de banco de dados e o código de aplicativo do PostgreSQL para os seguintes destinos:

  • Amazon RDS para MySQL

  • Amazon Aurora Edição Compatível com MySQL

  • Amazon RDS para PostgreSQL

  • Amazon Aurora Edição Compatível com PostgreSQL

Para obter mais informações, consulte as seções a seguir:

Privilégios para PostgreSQL como um banco de dados de origem

Os privilégios obrigatórios para PostgreSQL como origem são listados a seguir:

  • CONNECT ON DATABASE <database_name>

  • USAGE ON SCHEMA <database_name>

  • SELECT ON ALL TABLES IN SCHEMA <database_name>

  • SELECT ON ALL SEQUENCES IN SCHEMA <database_name>

Conectar-se ao PostgreSQL como origem

Use o procedimento a seguir para conectar seu banco de dados de origem do PostgreSQL com a AWS Schema Conversion Tool.

Para conectar-se a um banco de dados de origem do PostgreSQL
  1. Na AWS Schema Conversion Tool, escolha Adicionar origem.

  2. Escolha PostgreSQL e, em seguida, escolha Avançar.

    A caixa de diálogo Adicionar origem é exibida.

  3. Em Nome da conexão, insira um nome para o banco de dados. A AWS SCT exibe esse nome na árvore no painel esquerdo.

  4. Use as credenciais do banco de dados da AWS Secrets Manager ou insira-as manualmente:

    • Para usar as credenciais do banco de dados do Secrets Manager, use as instruções a seguir:

      1. Em AWS Secret, escolha o nome do segredo.

      2. Escolha Preencher para preencher automaticamente todos os valores na caixa de diálogo de conexão do banco de dados do Secrets Manager.

      Para obter informações sobre o uso de credenciais de banco de dados do Secrets Manager, consulte a Usar o AWS Secrets Manager.

    • Para inserir manualmente as informações de conexão do banco de dados do PostgreSQL, use as instruções a seguir:

      Parâmetro Ação
      Nome do servidor

      Digite o Sistema de Nomes de Domínio (DNS) ou o endereço IP do servidor de banco de dados de origem.

      Você pode se conectar ao seu banco de dados do PostgreSQL de origem usando um protocolo de endereço IPv6. Para fazer isso, certifique-se de usar colchetes para inserir o endereço IP, conforme mostrado no exemplo a seguir.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Porta do servidor

      Digite a porta usada para se conectar ao servidor de banco de dados de origem.

      Database

      Digite o nome do banco de dados PostgreSQL.

      Nome de usuário e Senha

      Insira as credenciais do banco de dados para se conectar ao seu servidor de banco de dados de origem.

      A AWS SCT usa a senha para se conectar ao seu banco de dados de origem somente quando você escolhe se conectar ao seu banco de dados em um projeto. Para proteger-se contra a exposição da senha do banco de dados de origem, a AWS SCT não armazena a senha por padrão. Se fechar o projeto da AWS SCT e abri-lo novamente, você será solicitado a informar a senha para se conectar ao banco de dados de origem, conforme necessário.

      Usar SSL

      Escolha essa opção para usar Secure Sockets Layer (SSL) para se conectar ao banco de dados. Forneça as seguintes informações adicionais, conforme aplicável, na guia SSL:

      • Verificar certificado do servidor: selecione essa opção para verificar o certificado do servidor, usando um armazenamento confiável.

      • Armazenamento de confiança: a localização de um armazenamento de confiança que contém certificados. Para que esse local apareça na seção Configurações globais, certifique-se de adicioná-lo.

      Armazenar senha

      A AWS SCT cria um cofre seguro para armazenar certificados SSL e senhas do banco de dados. Habilitar essa opção permite que você armazene a senha do banco de dados e se conecte rapidamente a ele sem a necessidade de informar a senha.

      Caminho do driver PostgreSQL

      Digite o caminho para o driver a ser usado para a conexão com o banco de dados de origem. Para obter mais informações, consulte Baixar os drivers de banco de dados necessários.

      Se você armazenar o caminho do driver nas configurações globais do projeto, o caminho do driver não aparecerá na caixa de diálogo de conexão. Para obter mais informações, consulte Armazenamento de caminhos do driver nas configurações globais.

  5. Escolha Testar conexão para verificar se a AWS SCT pode se conectar ao banco de dados de origem.

  6. Escolha Conectar para se conectar ao banco de dados de origem.

Privilégios do MySQL como um banco de dados de destino

Os privilégios obrigatórios para MySQL como destino quando migrados do PostgreSQL são os seguintes:

  • CREATE ON *.*

  • ALTER ON *.*

  • DROP ON *.*

  • INDEX ON *.*

  • REFERENCES ON *.*

  • SELECT ON *.*

  • CREATE VIEW ON *.*

  • SHOW VIEW ON *.*

  • TRIGGER ON *.*

  • CREATE ROUTINE ON *.*

  • ALTER ROUTINE ON *.*

  • EXECUTE ON *.*

  • INSERT, UPDATE ON AWS_POSTGRESQL_EXT.*

  • INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.*

  • CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.*

É possível utilizar o exemplo de código a seguir para criar um usuário do banco de dados e conceder os privilégios.

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT INSERT, UPDATE ON AWS_POSTGRESQL_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_POSTGRESQL_EXT_DATA.* TO 'user_name';

No exemplo anterior, substitua user_name pelo nome do seu usuário. Em seguida, substitua your_password por uma senha segura.

Para usar o Amazon RDS para MySQL ou o Aurora MySQL como destino, defina o parâmetro lower_case_table_names como 1. Esse valor significa que o servidor MySQL manipula identificadores de nomes de objetos como tabelas, índices, acionadores e bancos de dados sem distinção entre maiúsculas e minúsculas. Se você ativou o registro binário em sua instância de destino, defina o parâmetro log_bin_trust_function_creators como 1. Nesse caso, você não precisa usar as características DETERMINISTIC, READS SQL DATA ou NO SQL para criar funções armazenadas. Para configurar esses parâmetros, crie um novo grupo de parâmetros de banco de dados ou modifique um grupo de parâmetros de banco de dados existente.