PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hibah hak istimewa PostgreSQL tidak terlihat

Daftar hal-hal yang Anda salah paham:

  1. ALTER DEFAULT PRIVILEGES tidak mengubah izin pada objek yang ada, dalam kasus Anda skema.

    Anda perlu memberi CREATE hak istimewa pada skema:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES pernyataan yang Anda jalankan hanya akan memengaruhi izin pada tabel yang dibuat oleh pengguna postgres dalam skema tn_schema , tetapi tampaknya Anda ingin tn_beta_migrator untuk membuat tabel.

    Anda tidak perlu ALTER DEFAULT PRIVILEGES sama sekali, karena pengguna yang membuat tabel menjadi pemilik tabel dan memiliki semua hak istimewa pada tabel secara default.

  3. Anda dapat melihat hak istimewa default dengan \ddp di psql .

  4. Skema adalah bagian dari database, jadi Anda perlu terhubung ke database untuk melihat skemanya.

Jika Anda ingin agar tabel dibuat oleh tn_beta_migrator mendapatkan izin tertentu secara default, Anda harus menentukan hak istimewa default untuk pengguna tersebut (dan bukan untuk postgres , seperti yang Anda lakukan):

ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Buat indeks pada stempel waktu::DATE

  2. Batasan Pemeriksaan PostgreSQL di Liquibase

  3. Bagaimana cara menentukan hari terakhir bulan sebelumnya menggunakan PostgreSQL?

  4. Otentikasi pengguna dan kata sandi PostgreSQL tanpa basis data

  5. Bagaimana cara memiliki kunci asing yang menunjuk ke dua kunci utama?