全部产品
Search
文档中心

ApsaraDB RDS:Gunakan ekstensi encdb_btree untuk memfasilitasi operasi pada indeks teks terenkripsi

更新时间:Jul 02, 2025

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

Batasan

Sebagian besar fitur ekstensi kompatibel dengan Indeks B-tree. Daftar berikut menjelaskan batasan:

  • Anda tidak dapat menggunakan sintaksis ON CONFLICT untuk membuat UNIQUE INDEX.

  • Anda tidak dapat menggunakan FOREIGN KEY.

Kelola ekstensi

  • Buat ekstensi.

    CREATE EXTENSION IF NOT EXISTS encdb;
    CREATE EXTENSION encdb_btree;
    Catatan

    Ekstensi encdb_btree bergantung pada ekstensi EncDB. Sebelum membuat ekstensi encdb_btree, Anda harus membuat dan memuat ekstensi EncDB.

  • Hapus ekstensi.

    DROP EXTENSION encdb_btree;
    Catatan
    • Jika 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 index muncul saat saya menggunakan ekstensi?

    Ekstensi tidak mendukung sintaksis ON CONFLICT saat membuat UNIQUE INDEX.

  • Apa yang harus saya lakukan jika pesan kesalahan ERROR: only b-tree indexes are supported for foreign keys muncul saat saya menggunakan ekstensi?

    Ekstensi tidak mendukung FOREIGN KEY.