Ekstensi encdb_btree digunakan untuk meningkatkan performa instance ApsaraDB RDS for PostgreSQL dengan fitur Always Confidential Database yang diaktifkan. Ekstensi ini memfasilitasi operasi pada indeks teks terenkripsi dari Always Confidential Database dalam instance RDS. Topik ini menjelaskan cara menggunakan ekstensi encdb_btree.
Informasi latar belakang
Fitur Always Confidential Database menyediakan solusi enkripsi ujung ke ujung, memastikan keamanan data pengguna namun menurunkan performa sistem. Untuk informasi lebih lanjut, lihat Laporan Pengujian Performa Fitur Always Confidential Database. Untuk mengatasi masalah ini, Alibaba Cloud menyediakan ekstensi encdb_btree untuk memfasilitasi operasi pada indeks teks terenkripsi dari Always Confidential Database.
Prasyarat
Fitur Always Confidential Database telah diaktifkan dan dikonfigurasikan untuk instance RDS. Untuk informasi lebih lanjut, lihat Aktifkan Fitur Always Confidential Database, Tentukan Data Sensitif, dan Gunakan Fitur Always Confidential Database dari Klien.
Versi mesin minor dari instance RDS adalah 20230830 atau lebih baru. Untuk informasi lebih lanjut tentang cara memperbarui versi mesin minor, lihat Perbarui Versi Mesin Minor dari Instance ApsaraDB RDS for PostgreSQL.
Batasan
Sebagian besar fitur ekstensi kompatibel dengan Indeks B-tree. Daftar berikut menjelaskan batasan:
Anda tidak dapat menggunakan sintaksis
ON CONFLICTuntuk membuatUNIQUE INDEX.Anda tidak dapat menggunakan
FOREIGN KEY.
Kelola ekstensi
Buat ekstensi.
CREATE EXTENSION IF NOT EXISTS encdb; CREATE EXTENSION encdb_btree;CatatanEkstensi encdb_btree bergantung pada ekstensi EncDB. Sebelum membuat ekstensi encdb_btree, Anda harus membuat dan memuat ekstensi EncDB.
Hapus ekstensi.
DROP EXTENSION encdb_btree;CatatanJika indeks enc_btree ada pada instance RDS Anda, ekstensi gagal dihapus. Anda harus menjalankan pernyataan DROP INDEX untuk menghapus indeks enc_btree yang ada sebelum menghapus ekstensi.
Anda juga dapat menjalankan pernyataan DROP EXTENSION encdb_btree CASCADE; untuk menghapus ekstensi. Metode ini secara otomatis menghapus semua indeks enc_btree yang ada tanpa memengaruhi data tabel.
Gunakan ekstensi
Setelah tabel dienkripsi dalam Always Confidential Database, Anda dapat menggunakan ekstensi untuk membuat indeks enc_btree untuk kolom tabel terenkripsi.
Tabel berikut digunakan sebagai contoh.
CREATE TABLE test(
t1 enc_int4,
t2 enc_int8,
t3 enc_text
);Anda dapat membuat indeks enc_btree di tabel terenkripsi dengan menggunakan kata kunci USING enc_btree.
CREATE INDEX ON test USING enc_btree (t1);
CREATE UNIQUE INDEX ON test USING enc_btree (t2);
CREATE INDEX ON test USING enc_btree (t1, t2, t3);
CREATE INDEX ON test USING enc_btree (t1 desc, t2 asc);Setelah membuat indeks enc_btree, Anda tidak perlu memodifikasi Pernyataan SQL bisnis Anda. Fitur Always Confidential Database secara otomatis menghasilkan rencana eksekusi untuk memanggil indeks enc_btree saat Anda menjalankan Pernyataan SQL. Ini memfasilitasi operasi pada indeks teks terenkripsi dari Always Confidential Database.
Peningkatan performa
Untuk informasi lebih lanjut, lihat Laporan Pengujian Performa Fitur Always Confidential Database.
FAQ
Apa yang harus saya lakukan jika pesan kesalahan
ERROR: unexpected non-btree speculative unique indexmuncul saat saya menggunakan ekstensi?Ekstensi tidak mendukung sintaksis
ON CONFLICTsaat membuatUNIQUE INDEX.Apa yang harus saya lakukan jika pesan kesalahan
ERROR: only b-tree indexes are supported for foreign keysmuncul saat saya menggunakan ekstensi?Ekstensi tidak mendukung
FOREIGN KEY.