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 Console de gerenciamento da AWS 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).
Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No painel de navegação, selecione sua instância de banco de dados do RDS para PostgreSQL.
-
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).
-
Clique no link para abrir os parâmetros personalizados associados ao seu Instância de banco de dados do RDS para PostgreSQL.
-
No campo Parameters (Parâmetros), digite
shared_prepara encontrar o parâmetroshared_preload_libraries. -
Selecione Edit parameters (Editar parâmetros) para acessar os valores das propriedades.
-
Adicione
pg_tleà lista no campo Values (Valores). Use uma vírgula para separar itens na lista de valores.
Reinicie a instância de banco de dados do RDS para PostgreSQL para que a alteração no parâmetro
shared_preload_librariestenha efeito.Quando a instância estiver disponível, verifique se
pg_tlefoi inicializado. Usepsqlpara 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 a extensão
pg_tleinicializada, agora você pode criar a extensão.CREATE EXTENSION pg_tle;Para verificar se a extensão está instalada, você pode usar o metacomando
psqla seguir.labdb=>\dxList 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 languageConceda a função
pgtle_adminao 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
psqlconforme mostrado no exemplo a seguir. Somente as funçõespgtle_adminepostgressão mostradas na saída. Para ter mais informações, consulte Noções básicas sobre o perfil rds_superuser.labdb=>\duList of roles Role name | Attributes | Member of -----------------+---------------------------------+----------------------------------- pgtle_admin | Cannot login | {} postgres | Create role, Create DB +| {rds_superuser,pgtle_admin} | Password valid until infinity |...Feche a sessão
psqlusando 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
Utilize o comando modify-db-parameter-group AWS CLI para adicionar
pg_tleao parâmetroshared_preload_libraries.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pg_tle,ApplyMethod=pending-reboot" \ --regionaws-region-
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-identifieryour-instance\ --regionaws-region Quando a instância estiver disponível, verifique se a
pg_tlefoi inicializada. Usepsqlpara 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_tleinicializado, agora você pode criar a extensão.CREATE EXTENSION pg_tle;Conceda a função
pgtle_adminao 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 ROLEFeche a sessão
psqlda 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.