Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghapus paket kueri Aurora Postgre SQL
Hapus paket eksekusi yang tidak Anda gunakan atau paket yang tidak valid. Untuk informasi selengkapnya tentang menghapus paket, lihat bagian berikut.
Menghapus rencana
Rencana dihapus secara otomatis jika belum digunakan selama lebih dari sebulan, khususnya, 32 hari. Ini adalah pengaturan default untuk parameter apg_plan_mgmt.plan_retention_period
. Anda dapat mengubah periode retensi rencana ke periode waktu yang lebih lama, atau ke periode waktu yang lebih pendek mulai dari nilai 1. Menentukan jumlah hari sejak rencana terakhir digunakan yang dihitung dengan mengurangi tanggal saat ini dengan tanggal last_used
. Tanggal last_used
adalah tanggal terbaru saat pengoptimal memilih rencana sebagai rencana berbiaya minimum atau saat rencana tersebut dijalankan. Tanggal disimpan untuk rencana dalam tampilan apg_plan_mgmt.dba_plans
.
Kami menyarankan Anda menghapus rencana yang belum digunakan dalam waktu lama atau yang tidak berguna. Setiap rencana memiliki tanggal last_used
yang diperbarui oleh pengoptimal setiap kali pengoptimal menjalankan rencana atau memilih rencana sebagai rencana berbiaya minimum untuk suatu pernyataan. Periksa tanggal last_used
terakhir untuk mengidentifikasi rencana yang dapat Anda hapus dengan aman.
Kueri berikut menampilkan tabel tiga kolom dengan jumlah total rencana, rencana yang gagal dihapus, dan rencana yang berhasil dihapus. Kueri tersebut memiliki kueri bersarang yang merupakan contoh cara menggunakan fungsi apg_plan_mgmt.delete_plan
untuk menghapus semua rencana yang belum dipilih sebagai rencana berbiaya minimum dalam 31 hari terakhir dan statusnya bukan Rejected
.
SELECT (SELECT COUNT(*) from apg_plan_mgmt.dba_plans) total_plans, COUNT(*) FILTER (WHERE result = -1) failed_to_delete, COUNT(*) FILTER (WHERE result = 0) successfully_deleted FROM ( SELECT apg_plan_mgmt.delete_plan(sql_hash, plan_hash) as result FROM apg_plan_mgmt.dba_plans WHERE last_used < (current_date - interval '31 days') AND status <> 'Rejected' ) as dba_plans ;
total_plans | failed_to_delete | successfully_deleted
-------------+------------------+----------------------
3 | 0 | 2
Untuk informasi selengkapnya, lihat apg_plan_mgmt.delete_plan.
Untuk menghapus rencana yang tidak valid dan yang Anda perkirakan akan tetap tidak valid, gunakan fungsi apg_plan_mgmt.validate_plans
. Fungsi ini memungkinkan Anda menghapus atau menonaktifkan rencana yang tidak valid. Untuk informasi selengkapnya, lihat Memvalidasi rencana.
penting
Jika Anda tidak menghapus rencana yang tidak berguna, Anda mungkin akan kehabisan memori bersama yang dialokasikan untuk manajemen rencana kueri. Untuk mengontrol berapa banyak memori yang tersedia untuk rencana terkelola, gunakan parameter apg_plan_mgmt.max_plans
. Atur parameter ini di grup parameter DB kustom Anda lalu boot ulang instans DB Anda agar perubahan pada instans diterapkan. Untuk informasi selengkapnya, lihat parameter apg_plan_mgmt.max_plans.
Memvalidasi rencana
Gunakan fungsi apg_plan_mgmt.validate_plans
untuk menghapus atau menonaktifkan rencana yang tidak valid.
Rencana dapat menjadi tidak valid atau stale ketika objek yang diandalkan rencana tersebut dihapus, misalnya indeks atau tabel. Namun, rencana mungkin hanya menjadi tidak valid untuk sementara jika objek yang dihapus dibuat kembali. Jika rencana yang tidak valid dapat menjadi valid di lain waktu, mungkin Anda sebaiknya memilih untuk menonaktifkan rencana yang tidak valid atau tidak melakukan apa-apa daripada menghapusnya.
Untuk menemukan dan menghapus semua rencana yang tidak valid dan belum digunakan dalam kurun waktu seminggu, gunakan fungsi apg_plan_mgmt.validate_plans
sebagai berikut.
SELECT apg_plan_mgmt.validate_plans(sql_hash, plan_hash, 'delete') FROM apg_plan_mgmt.dba_plans WHERE last_used < (current_date - interval '7 days');
Untuk mengaktifkan atau menonaktifkan rencana secara langsung, gunakan fungsi apg_plan_mgmt.set_plan_enabled
.