Memperbarui atribut cluster database

Anda dapat mengubah atribut cluster database berikut dengan konsol GDC atau gdcloud CLI:

  • Sandi database untuk pengguna admin
  • Koneksi eksternal (diaktifkan/dinonaktifkan)
  • Tingkat ketersediaan
  • Pencadangan diaktifkan dan jumlah hari retensi pencadangan
  • Tanda database
  • CPU, memori, atau penyimpanan yang dialokasikan ke cluster database

Untuk mengetahui informasi tentang cara mengubah atribut, lihat alur kerja yang sesuai dengan jenis atribut yang ingin Anda perbarui:

Konsol

Ketersediaan Tinggi

Aktifkan atau nonaktifkan ketersediaan tinggi zona yang sama. Lihat bagian Mengonfigurasi ketersediaan tinggi untuk mengetahui informasi selengkapnya.

Perlindungan Data

Untuk semua jenis cluster database, Anda dapat mengaktifkan atau menonaktifkan Perlindungan data:

  1. Buka Perlindungan data, lalu klik edit Edit untuk mengakses formulir setelan perlindungan data. Jika pencadangan otomatis diaktifkan, Anda juga dapat mengonfigurasi berapa lama cadangan akan dipertahankan.
  2. Setelah melakukan perubahan, klik Simpan agar pembaruan diterapkan ke cluster database Anda.

Konektivitas

Untuk semua jenis cluster database, Anda dapat memilih apakah cluster database hanya dapat diakses dari dalam project GDC, atau apakah cluster database juga dapat diakses dari luar project:

  1. Buka Konektivitas, lalu klik edit Edit.
  2. Perbarui konfigurasi konektivitas Anda.
  3. Klik Simpan untuk menerapkan perubahan.

Instance

Untuk semua jenis cluster database, Anda dapat mengedit properti instance utama:

  1. Buka Primary Instance, lalu klik edit Edit.
  2. Pilih antara konfigurasi Performa Tinggi, Standar, Minimum, atau Kustom. Opsi Kustom memungkinkan Anda memilih jumlah CPU, memori, dan penyimpanan untuk instance utama.

  3. Memperbarui CPU, memori, atau penyimpanan instance utama Anda akan memerlukan mulai ulang. Pilih Simpan dan Mulai Ulang untuk menerapkan perubahan.

Untuk semua jenis cluster database, formulir ini juga memungkinkan Anda menambahkan, mengubah, atau menghapus flag database. Kumpulan tanda yang tersedia telah ditentukan sebelumnya oleh GDC. Lihat bagian Mengonfigurasi flag database untuk mengetahui informasi selengkapnya.

gdcloud CLI

Gunakan perintah berikut untuk memperbarui cluster database: sh gdcloud database clusters update CLUSTER_NAME [options]

Ganti kode berikut:

  • CLUSTER_NAME dengan nama cluster database yang akan diupdate.

Untuk daftar lengkap opsi, lihat referensi perintah atau jalankan sh gdcloud database clusters update --help

API

Perlindungan Data

Untuk semua jenis cluster database, Anda dapat mengaktifkan fitur perlindungan data dengan membuat resource BackupPlan untuk cluster database tersebut.

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: BackupPlan
metadata:
  name: DBCLUSTER_NAME-backupplan
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  backupRetainDays: RETENTION_DAYS

Ganti variabel berikut:

  • DBCLUSTER_NAME: nama cluster database yang akan diaktifkan perlindungan datanya.
  • USER_PROJECT: nama project pengguna tempat cluster database akan dibuat.
  • RETENTION_DAYS: jumlah hari operator mempertahankan cadangan ini. Nilainya harus berupa bilangan bulat antara 1 dan 90.

Anda juga dapat mengonfigurasi setelan perlindungan data seperti hari retensi dengan mengedit resource BackupPlan yang sesuai.

Untuk menonaktifkan perlindungan data untuk cluster database, hapus resource BackupPlan terkait yang dibuat sebelumnya.

Mereset Sandi Pengguna Administrator

Untuk semua jenis cluster database, Anda dapat mereset sandi database untuk pengguna administrator.

  1. Buat secret sandi.

    apiVersion: v1
    kind: Secret
    metadata:
      name: db-pw-DBCLUSTER_NAME
      namespace: USER_PROJECT
    type: Opaque
    data:
      DBCLUSTER_NAME: "BASE64_PASSWORD"
    
  2. Menambal DBCluster.

    kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"adminUser": {"passwordRef": {"name": "db-pw-DBCLUSTER_NAME"}}}}}' --type=merge -n USER_PROJECT
    

Ganti variabel berikut:

  • DBCLUSTER_NAME: nama cluster database.
  • USER_PROJECT: nama project pengguna tempat cluster database akan diperbarui.
  • BASE64_PASSWORD: encoding base64 dari sandi administrator database.

Diperlukan waktu sekitar satu menit agar kata sandi baru diterapkan.

Mengonfigurasi flag database

Gambar database yang disertakan dengan GDC dilengkapi dengan setelan default. Namun, Anda dapat menyesuaikan mesin database default untuk memenuhi persyaratan aplikasi Anda. Cluster database menyediakan tanda yang telah ditentukan sebelumnya yang dapat Anda tetapkan menggunakan konsol GDC atau gdcloud CLI:

Konsol

  1. Di menu navigasi, pilih Database Service.

  2. Dari daftar cluster database, klik cluster database yang ingin Anda konfigurasi flag database-nya.

  3. Di bagian Instances in your database cluster, klik Edit Primary.

    Edit cluster database utama Anda untuk mengonfigurasi flag.

  4. Di bagian Flags, klik Add a Database Flag.

  5. Pilih tanda Anda dan masukkan nilai. Jika nilai yang Anda masukkan tidak valid, konsol GDC akan memberi Anda petunjuk tentang cara memenuhi rentang atau jenis nilai yang diperlukan.

  6. Klik Done.

  7. Untuk menyetel konfigurasi, klik Simpan. Agar beberapa flag diterapkan, Anda harus memulai ulang cluster database. Untuk kasus ini, klik Simpan dan Mulai Ulang.

  8. Untuk mengonfirmasi bahwa flag baru Anda telah ditetapkan, kembali ke bagian Instances in your database cluster pada cluster database Anda dan verifikasi bahwa flag dan nilai baru terlihat.

Untuk mengedit flag database, kembali ke bagian Flag dan ubah flag yang ada. Arahkan kursor ke komponen tanda dan klik ikon Hapus untuk menghapus flag database.

gdcloud

Anda dapat mengonfigurasi flag database baru untuk cluster atau mereset semua flag yang ada kembali ke nilai defaultnya:

  • Untuk mengonfigurasi flag database untuk cluster database Anda, jalankan:

    gdcloud database clusters update CLUSTER_NAME \
        --database-flags DB_FLAGS
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama cluster database.
    • DB_FLAGS: daftar flag database yang dipisahkan koma yang akan ditetapkan pada database yang berjalan di cluster database. Setiap tanda dan nilai database ditetapkan sebagai pasangan nilai kunci. Flag tanpa nilai dapat ditentukan tanpa string yang mengikuti karakter =.

    Misalnya, perintah berikut menetapkan beberapa tanda database untuk test-db-cluster:

    gdcloud database clusters update test-db-cluster \
        --database-flags max_allowed_packet=55555,skip_grant_tables=,log_output=1
    

    Untuk mengetahui daftar flag database yang tersedia, lihat Flag database yang tersedia.

  • Untuk mereset semua flag database ke setelan defaultnya, jalankan:

    gdcloud database clusters update CLUSTER_NAME --clear-database-flags
    

    Ganti CLUSTER_NAME dengan nama cluster database.

API

  • Untuk mengonfigurasi flag database untuk cluster database Anda, jalankan:

      kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -p '{"spec":{"primarySpec": {"parameters": DB_FLAGS}}}' --type=merge -n USER_PROJECT
    

    Ganti variabel berikut:

    • DBCLUSTER_NAME: nama cluster database.
    • USER_PROJECT: nama project pengguna tempat cluster database dibuat.
    • DB_FLAGS: parameter konfigurasi database yang akan ditambahkan atau diperbarui. Objek ini harus berupa objek key-value pair berformat JSON, dengan kunci adalah nama parameter database dan nilai adalah setelannya masing-masing. Misalnya, perintah berikut menetapkan beberapa tanda database:
    "autovacuum": "on", "autovacuum_analyze_threshold": "2147483647", "dbs.enable_anon": "on"
    

    Untuk mengetahui daftar flag database yang tersedia, lihat Flag database yang tersedia.

  • Untuk mereset semua flag database ke setelan defaultnya, jalankan:

    kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME --type=json -p='[{"op": "remove", "path": "/spec/primarySpec/parameters"}]' -n USER_PROJECT
    

    Ganti variabel berikut:

    • DBCLUSTER_NAME: nama cluster database.
    • USER_PROJECT: nama project pengguna tempat cluster database dibuat.

Flag database yang tersedia

Flag Rentang Jenis Perlu dimulai ulang
google_columnar_engine.enabled aktif, nonaktif Boolean TRUE
google_columnar_engine.memory_size_in_mb [128, 2147483647] Bilangan bulat TRUE
anon.algorithm String FALSE
anon.maskschema String FALSE
anon.restrict_to_trusted_schemas aktif, nonaktif Boolean FALSE
anon.salt String FALSE
anon.sourceschema String FALSE
dbs.enable_anon on, off Boolean TRUE
dbs.enable_pg_bigm on, off Boolean TRUE
dbs.enable_pg_cron on, off Boolean TRUE
dbs.enable_pg_hint_plan on, off Boolean TRUE
dbs.enable_pg_squeeze on, off Boolean TRUE
dbs.enable_pg_wait_sampling on, off Boolean TRUE
pg_bigm.enable_recheck aktif, nonaktif Boolean FALSE
pg_bigm.gin_key_limit [0, 2147483647] Bilangan bulat FALSE
pg_bigm.similarity_limit [0, 1] Float FALSE
pg_hint_plan.debug_print nonaktif, aktif, mendetail, verbose, 0, 1, 2, 3, tidak, ya, salah, benar Enum TRUE
pg_hint_plan.enable_hint aktif, nonaktif Boolean FALSE
pg_hint_plan.enable_hint_table aktif, nonaktif Boolean FALSE
pg_hint_plan.message_level debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log Enum FALSE
pg_hint_plan.parse_messages debug5, debug4, debug3, debug2, debug1, debug, info, notice, warning, error, log Enum FALSE
pg_stat_statements.max [100, 2147483647] Bilangan bulat TRUE
pg_stat_statements.save aktif, nonaktif Boolean FALSE
pg_stat_statements.track tidak ada, atas, semua Enum FALSE
pg_stat_statements.track_utility aktif, nonaktif Boolean FALSE
pg_wait_sampling.history_period [1, 2147483647] Bilangan bulat FALSE
pg_wait_sampling.history_size [1, 2147483647] Bilangan bulat FALSE
pg_wait_sampling.profile_period [1, 2147483647] Bilangan bulat FALSE
pg_wait_sampling.profile_pid aktif, nonaktif Boolean FALSE
pg_wait_sampling.profile_queries aktif, nonaktif Boolean FALSE
pgaudit.log read, write, function, role, ddl, misc, misc_set,
all, none , -read, -write, -function, -role, -ddl,
-misc, -misc_set, -all, -none
String berulang FALSE
pgaudit.log_client aktif, nonaktif Boolean FALSE
pgaudit.log_parameter aktif, nonaktif Boolean FALSE
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSE
pgaudit.log_relation aktif, nonaktif Boolean FALSE
pgaudit.log_catalog aktif, nonaktif Boolean FALSE
pgaudit.role String FALSE
pgaudit.log_statement_once aktif, nonaktif Boolean FALSE
pglogical.batch_inserts aktif, nonaktif Boolean TRUE
pglogical.conflict_log_level debug5, debug4, debug3 , debug2, debug1 , info, notice , warning, error , log, fatal , panic Enum FALSE
pglogical.conflict_resolution error, apply_remote, keep_local, last_update_wins, first_update_wins Enum FALSE
pglogical.extra_connection_options String FALSE
pglogical.synchronous_commit aktif, nonaktif Boolean TRUE
pglogical.use_spi aktif, nonaktif Boolean TRUE
pgtt.enabled aktif, nonaktif Boolean FALSE
plv8.execution_timeout [1, 65536] Bilangan bulat FALSE
plv8.memory_limit [256, 3096] Bilangan bulat FALSE
plv8.start_proc String FALSE