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).
Faça login no AWS Management Console 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_pre
para 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_libraries
tenha efeito.Quando a instância estiver disponível, verifique se
pg_tle
foi inicializado. Usepsql
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 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
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çõespgtle_admin
epostgres
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 |...
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
Utilize o comando modify-db-parameter-group AWS CLI para adicionar
pg_tle
ao parâmetroshared_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" \ --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-identifier
your-instance
\ --regionaws-region
Quando a instância estiver disponível, verifique se a
pg_tle
foi inicializada. Usepsql
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;
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
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.