All Products
Search
Document Center

ApsaraDB RDS:Hak akses akun

Last Updated:Jul 06, 2025

Topik ini menjelaskan hak istimewa akun istimewa dan akun standar yang dibuat pada instance ApsaraDB RDS for PostgreSQL.

Deskripsi hak istimewa

Penting

Untuk memastikan keamanan dan stabilitas database, akun database dalam instance RDS tidak diberikan izin untuk mengakses tabel pg_authid. Anda dapat menanyakan informasi tentang peran database menggunakan Tampilan pg_roles.

Akun standar

Hak istimewa akun standar pada instance RDS sama dengan hak istimewa akun non-istimewa di PostgreSQL sumber terbuka. Untuk informasi lebih lanjut, lihat Dokumentasi resmi PostgreSQL.

Akun istimewa

Akun istimewa pada instance RDS memiliki hak istimewa berikut selain semua hak istimewa akun standar:

  • Melakukan commit untuk semua transaksi yang telah dipersiapkan selama proses commit dua fase (2PC).

    Catatan
    • Ketika transaksi melibatkan operasi yang harus dilakukan di antara beberapa database atau sistem, protokol 2PC digunakan untuk memastikan konsistensi data. Protokol 2PC memastikan bahwa semua transaksi yang terlibat dikomit atau dibatalkan.

    • Untuk informasi lebih lanjut, lihat SQL PREPARE TRANSACTION.

  • Secara manual, eksekusi pernyataan VACUUM pada tabel.

    Catatan

    Pernyataan VACUUM digunakan untuk mereklaim ruang disk yang ditempati oleh baris yang dihapus dan memperbarui statistik. Untuk informasi lebih lanjut, lihat VACUUM.

    Contoh pernyataan SQL

    • Eksekusi pernyataan VACUUM untuk membersihkan semua tabel dalam database. Saat pernyataan VACUUM dieksekusi, pengaturan parameter VACUUM default digunakan.

      VACUUM;
    • Eksekusi pernyataan VACUUM FULL untuk secara permanen membersihkan semua tabel dalam database. Saat pernyataan VACUUM FULL dieksekusi, penyimpanan fisik tabel direorganisasi dan ruang disk yang tidak terpakai direklaim. Pernyataan VACUUM FULL mungkin memerlukan waktu yang lebih lama dan lebih banyak sumber daya sistem daripada pernyataan VACUUM.

      VACUUM FULL;
    • Eksekusi pernyataan VACUUM pada tabel tertentu. Anda dapat menentukan tabel tempat Anda ingin mengeksekusi pernyataan VACUUM dan menentukan pengaturan parameter VACUUM kustom untuk tabel tersebut.

      VACUUM FULL <table_name>;

      table_name menentukan nama tabel.

  • Eksekusi pernyataan CREATE EVENT TRIGGER untuk membuat pemicu acara atau mengubah pemilik pemicu acara menjadi pemilik akun istimewa.

    Catatan

    Untuk informasi lebih lanjut tentang pemicu acara, lihat dokumentasi CREATE EVENT TRIGGER.

    Contoh pernyataan SQL

    • Buat pemicu acara.

      Skenario: Buat pemicu acara bernama test_trigger. Pemicu acara digunakan untuk memanggil fungsi test_function() ketika pernyataan DDL seperti CREATE, ALTER, atau DROP dijalankan.

      CREATE EVENT TRIGGER test_trigger
      ON ddl_command_end
      EXECUTE FUNCTION test_function();
    • Ubah pemilik pemicu acara.

      ALTER EVENT TRIGGER test_trigger OWNER TO new_owner;

      new_owner: pemilik pemicu acara setelah perubahan

  • Eksekusi pernyataan CREATE EXTENSION untuk membuat ekstensi. Untuk informasi lebih lanjut tentang ekstensi yang didukung, lihat Ekstensi yang didukung oleh ApsaraDB RDS for PostgreSQL.

    Contoh pernyataan SQL

    CREATE EXTENSION <Nama Ekstensi>;
  • Saat membuat fungsi, konfigurasikan parameter LEAKPROOF, atau ubah parameter LEAKPROOF untuk fungsi yang sudah ada.

    Catatan

    Untuk informasi lebih lanjut, lihat CREATE FUNCTION.

    Contoh pernyataan SQL

    CREATE OR REPLACE FUNCTION test_function() 
    RETURNS void 
    LANGUAGE sql 
    LEAKPROOF 
    AS $$
    -- Kode implementasi fungsi
    $$;
  • Eksekusi pernyataan CREATE PUBLICATION untuk membuat atau mengubah pemilik publikasi.

    Catatan

    Dalam PostgreSQL, fitur replikasi logis digunakan untuk membuat publikasi. Fitur ini menerapkan perubahan dari satu database ke database lainnya.

    Contoh pernyataan SQL

    • Buat publikasi. Berikut adalah contoh pernyataan. Untuk informasi lebih lanjut, lihat CREATE PUBLICATION.

      CREATE PUBLICATION test_publication FOR ALL TABLES;
    • Ubah pemilik publikasi.

      ALTER PUBLICATION <publication_name> OWNER TO <new_owner>;
  • Eksekusi pernyataan CREATE SUBSCRIPTION untuk membuat langganan atau mengubah pemiliknya.

    Catatan

    Dalam PostgreSQL, fitur replikasi logis digunakan untuk membuat langganan. Langganan memungkinkan sistem menerapkan perubahan dari publikasi ke database yang Anda langgani.

    Contoh pernyataan SQL

    • Buat langganan. Berikut adalah contoh pernyataan. Untuk informasi lebih lanjut, lihat CREATE SUBSCRIPTION.

      CREATE SUBSCRIPTION test_subscription
        CONNECTION 'host=<Publisher endpoint> port=<Publisher port> dbname=<Database> user=<Account> password=<Password>'
        PUBLICATION test_publication
        WITH (slot_name = <replication_slot_name>, create_slot = false);

      test_publication menentukan nama publikasi pada penerbit.

    • Ubah pemilik langganan.

      ALTER SUBSCRIPTION <subscription_name> OWNER TO <new_owner>;
  • Gunakan fitur pencarian teks untuk melakukan pencarian teks lengkap dan pencocokan berbasis teks. Untuk informasi lebih lanjut, lihat Full Text Search.

  • Ubah pemilik tipe data.

    Contoh pernyataan SQL

    ALTER TYPE <type_name> OWNER TO <new_owner>;
  • Buat akun istimewa atau tingkatkan akun standar menjadi akun istimewa.

    Contoh pernyataan SQL

    -- Buat akun.
    CREATE USER <User name> WITH PASSWORD '<Password>';
    -- Ubah akun menjadi akun istimewa.
    GRANT pg_rds_superuser TO <user_name>;
  • Kueri proses backend untuk akun istimewa dan semua akun standar, lalu panggil fungsi seperti pg_terminate_backend() untuk menghentikan proses-proses tersebut.

    Contoh pernyataan SQL

    -- Kueri semua proses backend dari akun
    SELECT pid, datname, usename, application_name
    FROM pg_stat_activity
    WHERE usename = '<Akun istimewa atau akun standar>';
    
    -- Panggil fungsi pg_terminate_backend() untuk mengakhiri proses.
    SELECT pg_terminate_backend(pid);
  • Dapatkan pengaturan koneksi backend untuk akun istimewa dan semua akun standar dari tampilan pg_stat_activity.

    Contoh pernyataan SQL

    SELECT *
    FROM pg_stat_activity
    WHERE usename = '<Akun istimewa atau akun standar>'; 
  • Eksekusi pernyataan GRANT dan REVOKE pada objek akun standar. Untuk detail lebih lanjut, lihat dokumentasi GRANT dan REVOKE.

    Contoh pernyataan SQL

    -- Eksekusi pernyataan GRANT untuk memberi otorisasi kepada akun standar untuk mengeksekusi pernyataan DELETE guna menghapus baris dari tabel.
    GRANT DELETE ON <table_name> TO <user_name>;
    
    -- Eksekusi pernyataan REVOKE untuk mencabut izin.
    REVOKE DELETE ON <table_name> FROM <user_name>;
  • Eksekusi pernyataan SET ROLE untuk mengubah hak istimewa akun istimewa dalam sesi saat ini menjadi hak istimewa akun standar yang ditentukan.

    Contoh pernyataan SQL

    SET ROLE <Akun standar>;

Referensi

Untuk informasi lebih lanjut tentang cara mengelola hak istimewa secara mendetail, lihat Kelola hak istimewa dalam instance ApsaraDB RDS for PostgreSQL.