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 cadangan
  • Flag 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

Mengaktifkan atau menonaktifkan 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 durasi penyimpanan cadangan.
  2. Setelah melakukan perubahan, klik Save agar update 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 tersebut 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 Custom 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 flag yang tersedia telah ditentukan sebelumnya oleh GDC. Lihat bagian Mengonfigurasi flag database untuk mengetahui informasi selengkapnya.

gdcloud

Gunakan perintah berikut untuk mengupdate cluster database:

gdcloud database clusters update CLUSTER_NAME [options]

Ganti CLUSTER_NAME dengan nama cluster database yang akan diupdate.

Untuk mengetahui daftar lengkap opsi, lihat referensi perintah atau jalankan:

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. Nilai ini 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. Patch 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 diupdate.
  • BASE64_PASSWORD: encoding base64 sandi administrator database.

Perlu waktu sekitar satu menit agar sandi baru diterapkan.

Mengonfigurasi flag database

Image database yang disertakan dengan GDC dilengkapi dengan setelan default. Namun, Anda dapat menyesuaikan mesin database default untuk memenuhi persyaratan aplikasi Anda. Cluster database menyediakan flag yang telah ditetapkan 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 Tambahkan Flag Database.

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

  6. Klik Done.

  7. Untuk menetapkan konfigurasi, klik Save. Agar beberapa flag diterapkan, Anda harus memulai ulang cluster database. Untuk kasus ini, klik Save and Restart.

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

Untuk mengedit flag database, kembali ke bagian Flags dan ubah flag yang ada. Arahkan kursor ke komponen flag dan klik ikon Delete 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 bagi 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 flag dan nilai database ditetapkan sebagai pasangan nilai kunci. Flag tanpa nilai dapat ditentukan tanpa string setelah karakter =.

    Misalnya, perintah berikut menetapkan beberapa flag 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 default, jalankan:

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

    Ganti CLUSTER_NAME dengan nama cluster database.

API

  • Untuk mengonfigurasi flag database bagi 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 berformat JSON dari key-value pair, dengan kunci sebagai nama parameter database dan nilai sebagai setelan masing-masing. Misalnya, perintah berikut menetapkan beberapa flag 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 default, 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 on, off 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 on, off Boolean FALSE
anon.salt String FALSE
anon.sourceschema String FALSE
dbs.enable_anon Boolean TRUE
dbs.enable_pg_bigm Boolean TRUE
dbs.enable_pg_cron Boolean TRUE
dbs.enable_pg_hint_plan Boolean TRUE
dbs.enable_pg_squeeze Boolean TRUE
dbs.enable_pg_wait_sampling Boolean TRUE
pg_bigm.enable_recheck on, off 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 off, on, detailed, verbose, 0, 1, 2, 3, no, yes, false, true Enum TRUE
pg_hint_plan.enable_hint on, off Boolean FALSE
pg_hint_plan.enable_hint_table on, off 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 on, off Boolean FALSE
pg_stat_statements.track none, top, all Enum FALSE
pg_stat_statements.track_utility on, off 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 on, off Boolean FALSE
pg_wait_sampling.profile_queries on, off 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 on, off Boolean FALSE
pgaudit.log_parameter on, off Boolean FALSE
pgaudit.log_level debug5, debug4, debug3, debug2, debug1, info,
notice, warning, error, log
Enum FALSE
pgaudit.log_relation on, off Boolean FALSE
pgaudit.log_catalog on, off Boolean FALSE
pgaudit.role String FALSE
pgaudit.log_statement_once on, off Boolean FALSE
pglogical.batch_inserts on, off 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 on, off Boolean TRUE
pglogical.use_spi on, off Boolean TRUE
pgtt.enabled on, off Boolean FALSE
plv8.execution_timeout [1, 65536] Bilangan bulat FALSE
plv8.memory_limit [256, 3096] Bilangan bulat FALSE
plv8.start_proc String FALSE