Untuk mendukung berbagai skenario, Hologres menyediakan parameter Grand Unified Configuration (GUC). Topik ini menjelaskan parameter GUC yang disediakan oleh Hologres dan cara menggunakannya.
Batasan
Parameter GUC tidak berlaku untuk tabel sistem.
Parameter GUC
Parameter GUC | Deskripsi | Catatan | Contoh |
hg_enable_start_auto_analyze_worker | Parameter ini digunakan untuk menentukan apakah fitur auto-analyze diaktifkan dan mengonfigurasi fitur auto-analyze. Untuk informasi lebih lanjut, lihat ANALYZE dan auto-analyze. | Nilai default adalah | set hg_enable_start_auto_analyze_worker = on; |
hg_auto_check_table_changes_interval | Nilai default: | set hg_auto_check_table_changes_interval = '10min'; | |
hg_auto_check_foreign_table_changes_interval | Nilai default: | set hg_auto_check_foreign_table_changes_interval = '4h'; | |
hg_auto_analyze_max_sample_row_count | Nilai default: | set hg_auto_analyze_max_sample_row_count = 16777216; | |
hg_fixed_api_modify_max_delay_interval | Nilai default: | set hg_fixed_api_modify_max_delay_interval = '3day'; | |
hg_foreign_table_max_partition_limit | Parameter ini menentukan jumlah maksimum partisi yang dapat dijangkau oleh setiap query pada tabel MaxCompute. Anda dapat menggunakan parameter ini untuk menyesuaikan batas. |
| set hg_foreign_table_max_partition_limit = 128; |
hg_experimental_query_batch_size | Parameter ini digunakan untuk mengoptimalkan kinerja query tabel MaxCompute di Hologres. Untuk informasi lebih lanjut, lihat Optimalkan kinerja query tabel MaxCompute di Hologres. | Nilai default: | set hg_experimental_query_batch_size = 4096; |
hg_foreign_table_split_size | Nilai default: | set hg_foreign_table_split_size = 128; | |
hg_foreign_table_executor_max_dop | Nilai default dari parameter ini sama dengan jumlah core CPU dari instance Hologres. Nilai maksimumnya adalah | set hg_foreign_table_executor_max_dop = 32; | |
hg_foreign_table_executor_dml_max_dop | Nilai default: | set hg_foreign_table_executor_dml_max_dop = 16; | |
hg_enable_access_odps_orc_via_holo | Nilai default adalah | set hg_enable_access_odps_orc_via_holo = on; | |
hg_experimental_enable_result_cache | Parameter ini menentukan apakah caching hasil diaktifkan. | Nilai default: | set hg_experimental_enable_result_cache = on; |
optimizer_join_order | Parameter ini digunakan untuk mengoptimalkan kinerja query tabel internal. Untuk informasi lebih lanjut, lihat Optimalkan kinerja query. | Nilai default: | set optimizer_join_order = query; |
optimizer_force_multistage_agg | Nilai default: | set optimizer_force_multistage_agg = on; | |
hg_anon_enable | Parameter ini menentukan apakah fitur masking data diaktifkan. Untuk informasi lebih lanjut, lihat Masking data. | Nilai default: | alter database <db_name> set hg_anon_enable = on; |
hg_experimental_encryption_options | Parameter ini menentukan apakah enkripsi data diaktifkan dan digunakan untuk mengonfigurasi fitur enkripsi data. Untuk informasi lebih lanjut, lihat Enkripsi data di Hologres. | Nilai default: | alter database <db_name> set hg_experimental_encryption_options='AES256,623c26ee-xxxx-xxxx-xxxx-91d323cc4855,AliyunHologresEncryptionDefaultRole,187xxxxxxxxxxxxx'; |
statement_timeout | Parameter ini menentukan periode timeout untuk query aktif. Untuk informasi lebih lanjut, lihat Kelola query. | Nilai default: | set statement_timeout = 5000 ; |
idle_in_transaction_session_timeout | Parameter ini menentukan periode timeout untuk query idle. Untuk informasi lebih lanjut, lihat Kelola query. | Nilai default: | alter database db_name set idle_in_transaction_session_timeout=300000; |
idle_session_timeout | Parameter ini menentukan periode timeout setelah koneksi idle dilepaskan secara otomatis. Untuk informasi lebih lanjut, lihat Kelola koneksi. | Nilai default: | alter database <db_name> SET idle_session_timeout = 600000; |
hg_experimental_functions_use_pg_implementation | Parameter ini menentukan rentang waktu untuk fungsi konversi tipe data yang didukung oleh Hologres. Secara default, rentang waktu yang didukung oleh fungsi | Hologres V1.1.31 dan versi lebih baru mendukung parameter ini. Setelah Anda mengonfigurasi parameter ini untuk fungsi konversi tipe data, rentang waktu yang didukung oleh fungsi tersebut adalah | set hg_experimental_functions_use_pg_implementation = 'to_char'; |
hg_experimental_approx_count_distinct_precision | Parameter ini digunakan untuk menyesuaikan margin kesalahan untuk fungsi APPROX_COUNT_DISTINCT. Untuk informasi lebih lanjut, lihat APPROX_COUNT_DISTINCT. | Nilai default: | set hg_experimental_approx_count_distinct_precision = 20; |
timezone | Parameter ini menentukan zona waktu. | Nilai default: | set timezone='GMT-8:00'; |
hg_experimental_enable_create_table_like_properties | Parameter ini menentukan apakah properti tabel seperti skema tabel dan kunci utama serta indeks dicopy. Untuk informasi lebih lanjut, lihat CREATE TABLE LIKE. | Nilai default: | set hg_experimental_enable_create_table_like_properties=true; |
hg_experimental_affect_row_multiple_times_keep_first | Parameter ini menentukan kebijakan pemrosesan konflik untuk pernyataan | Nilai default: | set hg_experimental_affect_row_multiple_times_keep_first = on; |
hg_experimental_affect_row_multiple_times_keep_last | set hg_experimental_affect_row_multiple_times_keep_last = on; | ||
hg_experimental_enable_read_replica | Parameter ini menentukan apakah replikasi tingkat shard diaktifkan. Untuk informasi lebih lanjut, lihat Replikasi tingkat shard untuk instance Hologres. | Nilai default: | set hg_experimental_enable_read_replica = on; |
hg_experimental_display_query_id | Parameter ini menentukan apakah ID query ditampilkan di bidang NOTICE pada klien. Parameter ini berlaku untuk HoloWeb dan klien PostgreSQL. Jika Anda menggunakan driver Java Database Connectivity (JDBC), Anda harus menggunakan | Nilai default: off. | set hg_experimental_display_query_id =on; |
Kueri nilai parameter GUC
Anda dapat mengeksekusi pernyataan SHOW untuk memeriksa pengaturan atau nilai default parameter GUC. Contoh pernyataan:
Periksa apakah fitur auto-analyze diaktifkan:
show hg_enable_start_auto_analyze_worker;Kueri jumlah maksimum partisi yang dapat dijangkau oleh setiap query tabel MaxCompute:
show hg_foreign_table_max_partition_limit;
Konfigurasi parameter GUC
Anda dapat mengonfigurasi parameter GUC di tingkat sesi atau tingkat database.
Konfigurasikan parameter GUC untuk database atau sesi sesuai dengan skenario bisnis dan karakteristik parameter. Kami merekomendasikan agar Anda tidak mengonfigurasi semua parameter GUC di tingkat database.
Konfigurasi Parameter GUC di Tingkat Sesi
Gunakan pernyataan
SETuntuk mengonfigurasi parameter GUC di tingkat sesi. Jika dikonfigurasi di tingkat sesi, parameter hanya berlaku dalam sesi saat ini. Setelah koneksi ditutup, pengaturan parameter menjadi tidak valid. Kami merekomendasikan penggunaan parameter GUC diikuti dengan pernyataan SQL.Sintaks:
set <GUC_name> = <values>;Parameter GUC_name menentukan nama parameter GUC, dan parameter values menentukan nilai parameter GUC tersebut.
Contoh:
-- Aktifkan fitur auto-analyze. set hg_enable_start_auto_analyze_worker = on; -- Ubah jumlah maksimum partisi yang dapat dijangkau oleh setiap query tabel MaxCompute menjadi 1024. set hg_foreign_table_max_partition_limit =1024;
Konfigurasi Parameter GUC di Tingkat Database
Gunakan pernyataan
alter database xx set xxxuntuk mengonfigurasi parameter GUC di tingkat database. Pengaturan parameter akan berlaku untuk database yang ditentukan setelah Anda menutup koneksi saat ini dan membuat koneksi baru. Jika Anda membuat database baru, konfigurasikan parameter GUC secara manual untuk database tersebut.Sintaks:
alter database <db_name> set <GUC_name> = <values>;Parameter db_name menentukan nama database. Parameter GUC_name menentukan nama parameter GUC, dan parameter values menentukan nilai parameter GUC.
Contoh:
-- Aktifkan fitur auto-analyze untuk sebuah database. alter database testdb set hg_enable_start_auto_analyze_worker = on; -- Ubah jumlah maksimum partisi yang dapat dijangkau oleh setiap query tabel MaxCompute menjadi 1.024 untuk sebuah database. alter database testdb set hg_foreign_table_max_partition_limit =1024;