Daftar hal-hal yang Anda salah paham:
-
ALTER DEFAULT PRIVILEGEStidak mengubah izin pada objek yang ada, dalam kasus Anda skema.Anda perlu memberi
CREATEhak istimewa pada skema:GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator; -
ALTER DEFAULT PRIVILEGESpernyataan yang Anda jalankan hanya akan memengaruhi izin pada tabel yang dibuat oleh penggunapostgresdalam skematn_schema, tetapi tampaknya Anda ingintn_beta_migratoruntuk membuat tabel.Anda tidak perlu
ALTER DEFAULT PRIVILEGESsama 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
\ddpdipsql. -
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 ...;