Configurar o Trusted Language Extensions em sua instância de banco de dados do RDS para PostgreSQL - Amazon Relational Database Service

Configurar o Trusted Language Extensions em sua instância de banco de dados do RDS para PostgreSQL

As etapas a seguir pressupõem que sua instância de banco de dados do RDS para PostgreSQL esteja associada a um grupo de parâmetros de banco de dados. Você pode usar o AWS Management Console ou a AWS CLI para essas etapas.

Ao configurar o Trusted Language Extensions em sua instância de banco de dados do RDS para PostgreSQL, você o instala em um banco de dados específico para uso pelos usuários do banco de dados que têm permissões nesse banco de dados.

Como configurar o Trusted Language Extensions

Execute as etapas a seguir usando uma conta que seja membro do grupo rds_superuser (função).

  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione sua instância de banco de dados do RDS para PostgreSQL.

  3. Abra a guia Configuration (Configuração) para sua Instância de banco de dados do RDS para PostgreSQL. Entre os detalhes da instância, encontre o link Parameter group (Grupo de parâmetros).

  4. Clique no link para abrir os parâmetros personalizados associados ao seu Instância de banco de dados do RDS para PostgreSQL.

  5. No campo Parameters (Parâmetros), digite shared_pre para encontrar o parâmetro shared_preload_libraries.

  6. Selecione Edit parameters (Editar parâmetros) para acessar os valores das propriedades.

  7. Adicione pg_tle à lista no campo Values (Valores). Use uma vírgula para separar itens na lista de valores.

    Imagem do parâmetro shared_preload_libraries com pg_tle adicionado.
  8. Reinicie a instância de banco de dados do RDS para PostgreSQL para que a alteração no parâmetro shared_preload_libraries tenha efeito.

  9. Quando a instância estiver disponível, verifique se pg_tle foi inicializado. Use psql para se conectar à instância de banco de dados do RDS para PostgreSQL e depois execute o comando a seguir.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
  10. Com a extensão pg_tle inicializada, agora você pode criar a extensão.

    CREATE EXTENSION pg_tle;

    Para verificar se a extensão está instalada, você pode usar o metacomando psql a seguir.

    labdb=> \dx List of installed extensions Name | Version | Schema | Description ---------+---------+------------+-------------------------------------------- pg_tle | 1.0.1 | pgtle | Trusted-Language Extensions for PostgreSQL plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
  11. Conceda a função pgtle_admin ao nome de usuário principal que você criou para sua instância de banco de dados do RDS para PostgreSQL ao configurá-la. Se você aceitou o padrão, é postgres.

    labdb=> GRANT pgtle_admin TO postgres; GRANT ROLE

    É possível verificar se a concessão ocorreu usando o metacomando psql conforme mostrado no exemplo a seguir. Somente as funções pgtle_admin e postgres são mostradas na saída. Para ter mais informações, consulte Noções básicas sobre o perfil rds_superuser.

    labdb=> \du List of roles Role name | Attributes | Member of -----------------+---------------------------------+----------------------------------- pgtle_admin | Cannot login | {} postgres | Create role, Create DB +| {rds_superuser,pgtle_admin} | Password valid until infinity |...
  12. Feche a sessão psql usando o metacomando \q.

    \q

Para começar a criar extensões TLE, consulte Exemplo: Criar uma extensão de linguagem confiável usando SQL.

Você pode evitar especificar o argumento --region ao usar comandos da CLI configurando sua AWS CLI com sua Região da AWS padrão. Para obter mais informações, consulte Conceitos básicos de configuração da no Guia do usuário do AWS Command Line Interface.

Como configurar o Trusted Language Extensions
  1. Utilize o comando modify-db-parameter-group AWS CLI para adicionar pg_tle ao parâmetro shared_preload_libraries.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pg_tle,ApplyMethod=pending-reboot" \ --region aws-region
  2. Utilize o comando reboot-db-instance da AWS CLI para reinicializar a instância de banco de dados do RDS para PostgreSQL e inicialize a biblioteca pg_tle.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. Quando a instância estiver disponível, verifique se a pg_tle foi inicializada. Use psql para se conectar à instância de banco de dados do RDS para PostgreSQL e, depois, execute o comando a seguir.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)

    Com pg_tle inicializado, agora você pode criar a extensão.

    CREATE EXTENSION pg_tle;
  4. Conceda a função pgtle_admin ao nome de usuário principal que você criou para sua instância de banco de dados do RDS para PostgreSQL ao configurá-la. Se você aceitou o padrão, é postgres.

    GRANT pgtle_admin TO postgres; GRANT ROLE
  5. Feche a sessão psql da forma a seguir.

    labdb=> \q

Para começar a criar extensões TLE, consulte Exemplo: Criar uma extensão de linguagem confiável usando SQL.