All Products
Search
Document Center

ApsaraDB RDS:Ekstensi rds_tde_utils untuk enkripsi dan dekripsi TDE massal

Last Updated:Mar 29, 2026

Mengenkripsi atau mendekripsi tabel dengan pernyataan ALTER memerlukan satu pernyataan terpisah untuk setiap tabel, yang menjadi tidak praktis untuk database besar. Ekstensi rds_tde_utils memungkinkan Anda mengenkripsi atau mendekripsi beberapa tabel dan indeks sekaligus—baik satu tabel tunggal maupun seluruh tabel dalam suatu database.

Prasyarat

Sebelum memulai, pastikan bahwa:

Catatan penggunaan

Operasi enkripsi dan dekripsi batch berjalan secara sinkron—panggilan hanya akan mengembalikan hasil setelah semua tabel dan indeks diproses. Jika database berisi jumlah tabel yang besar, operasi ini dapat memakan waktu lama. Lakukan dengan hati-hati.

Instalasi dan penghapusan ekstensi

Jalankan pernyataan berikut menggunakan Akun istimewa.

Instal ekstensi:

CREATE EXTENSION rds_tde_utils;

Hapus ekstensi:

DROP EXTENSION rds_tde_utils;

Referensi fungsi

Ekstensi ini menyediakan delapan fungsi. Setiap fungsi beroperasi pada satu tabel atau seluruh database, menggunakan salah satu dari dua metode rewrite.

Pilih metode rewrite

MetodePerilaku
LazyLogika rewrite mirip dengan LAZY VACUUM.
FullLogika rewrite mirip dengan VACUUM FULL. Jangan jalankan selama jam sibuk.

Fungsi enkripsi

FungsiRuang lingkupMetode
rds_tde_lazy_encrypt_table('table_name'::regclass)Satu tabel dan indeksnyaLazy
rds_tde_encrypt_table('table_name'::regclass)Satu tabel dan indeksnyaFull
rds_tde_lazy_encrypt_database()Semua tabel dan indeks dalam databaseLazy
rds_tde_encrypt_database()Semua tabel dan indeks dalam databaseFull

Fungsi dekripsi

FungsiRuang lingkupMetode
rds_tde_lazy_decrypt_table('table_name'::regclass)Satu tabel dan indeksnyaLazy
rds_tde_decrypt_table('table_name'::regclass)Satu tabel dan indeksnyaFull
rds_tde_lazy_decrypt_database()Semua tabel dan indeks dalam databaseLazy
rds_tde_decrypt_database()Semua tabel dan indeks dalam databaseFull

Contoh

Siapkan tabel uji

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);

Enkripsi satu tabel dan indeksnya

Gunakan metode lazy untuk mengurangi dampak pada beban kerja yang sedang berjalan:

SELECT rds_tde_lazy_encrypt_table('table_a'::regclass);

Gunakan metode full selama jam sepi untuk melakukan rewrite lengkap pada tabel:

SELECT rds_tde_encrypt_table('table_a'::regclass);

Enkripsi semua tabel dan indeks dalam database

-- Metode lazy (dampak lebih rendah)
SELECT rds_tde_lazy_encrypt_database();

-- Metode full (rewrite lengkap, jalankan selama jam sepi)
SELECT rds_tde_encrypt_database();

Dekripsi satu tabel dan indeksnya

-- Metode lazy
SELECT rds_tde_lazy_decrypt_table('table_a'::regclass);

-- Metode full (jalankan selama jam sepi)
SELECT rds_tde_decrypt_table('table_a'::regclass);

Dekripsi semua tabel dan indeks dalam database

-- Metode lazy (dampak lebih rendah)
SELECT rds_tde_lazy_decrypt_database();

-- Metode full (rewrite lengkap, jalankan selama jam sepi)
SELECT rds_tde_decrypt_database();