Daftar hal-hal yang Anda salah paham:
-
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;
-
ALTER DEFAULT PRIVILEGES
pernyataan yang Anda jalankan hanya akan memengaruhi izin pada tabel yang dibuat oleh penggunapostgres
dalam skematn_schema
, tetapi tampaknya Anda ingintn_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. -
Anda dapat melihat hak istimewa default dengan
\ddp
dipsql
. -
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 ...;