Todos os produtos
Search
Central de documentação

ApsaraDB RDS:The rds_tde_utils extension for bulk TDE encryption and decryption

Última atualização: Jun 26, 2026

Criptografar ou descriptografar tabelas com instruções ALTER exige uma instrução separada por tabela, o que se torna impraticável em bancos de dados de grande porte. A extensão rds_tde_utils permite criptografar ou descriptografar múltiplas tabelas e índices de uma só vez — seja uma única tabela ou todas as tabelas de um banco de dados.

Pré-requisitos

Antes de começar, verifique se:

Notas de uso

As operações de criptografia e descriptografia em lote são executadas de forma síncrona — a chamada retorna somente após o processamento de todas as tabelas e índices. Em bancos de dados com grande quantidade de tabelas, essas operações podem demorar bastante. Prossiga com cautela.

Instalar e remover a extensão

Execute as instruções a seguir com uma conta com privilégios.

Para instale a extensão:

CREATE EXTENSION rds_tde_utils;

Para remover a extensão:

DROP EXTENSION rds_tde_utils;

Referência de funções

A extensão oferece oito funções. Cada função opera em uma única tabela ou em todo o banco de dados, usando um de dois métodos de reescrita.

Escolha um método de reescrita

Método

Comportamento

Lazy

A lógica de reescrita é semelhante ao LAZY VACUUM.

Full

A lógica de reescrita é semelhante ao VACUUM FULL. Não execute durante horários de pico.

Funções de criptografia

Função

Escopo

Método

rds_tde_lazy_encrypt_table('table_name'::regclass)

Tabela única e seus índices

Lazy

rds_tde_encrypt_table('table_name'::regclass)

Tabela única e seus índices

Full

rds_tde_lazy_encrypt_database()

Todas as tabelas e índices do banco de dados

Lazy

rds_tde_encrypt_database()

Todas as tabelas e índices do banco de dados

Full

Funções de descriptografia

Função

Escopo

Método

rds_tde_lazy_decrypt_table('table_name'::regclass)

Tabela única e seus índices

Lazy

rds_tde_decrypt_table('table_name'::regclass)

Tabela única e seus índices

Full

rds_tde_lazy_decrypt_database()

Todas as tabelas e índices do banco de dados

Lazy

rds_tde_decrypt_database()

Todas as tabelas e índices do banco de dados

Full

Exemplos

Configurar tabelas de teste

CREATE TABLE table_a(id int);
CREATE INDEX index_a1 ON table_a(id);
CREATE INDEX index_a2 ON table_a USING hash(id);
CREATE TABLE table_b(id int);
CREATE INDEX index_b1 ON table_b(id);
CREATE INDEX index_b2 ON table_b USING hash(id);

Criptografar uma única tabela e seus índices

Use o método lazy para reduzir o impacto nas cargas de trabalho em execução:

SELECT rds_tde_lazy_encrypt_table('table_a'::regclass);

Use o método full em horários de baixo tráfego para uma reescrita completa da tabela:

SELECT rds_tde_encrypt_table('table_a'::regclass);

Criptografar todas as tabelas e índices do banco de dados

-- Lazy method (lower impact)
SELECT rds_tde_lazy_encrypt_database();

-- Full method (complete rewrite, run during off-peak hours)
SELECT rds_tde_encrypt_database();

Descriptografar uma única tabela e seus índices

-- Lazy method
SELECT rds_tde_lazy_decrypt_table('table_a'::regclass);

-- Full method (run during off-peak hours)
SELECT rds_tde_decrypt_table('table_a'::regclass);

Descriptografar todas as tabelas e índices do banco de dados

-- Lazy method (lower impact)
SELECT rds_tde_lazy_decrypt_database();

-- Full method (complete rewrite, run during off-peak hours)
SELECT rds_tde_decrypt_database();