Saya harus kehilangan sesuatu sehubungan dengan pengaturan PostgreSQL. Yang ingin saya lakukan adalah membuat banyak basis data dan pengguna yang diisolasi satu sama lain sehingga pengguna tertentu hanya memiliki akses ke database yang saya tentukan. Namun, dari apa yang saya dapat tentukan, setiap pengguna yang dibuat memiliki akses ke semua database tanpa ada hibah khusus yang diberikan.
Inilah yang saya lakukan pada Ubuntu Server 12.04:
- apt-get install postgresql
- sudo -u postgres createuser -DRSP mike1 (Menentukan kata sandi untuk pengguna baru)
- sudo -u postgres dibuatb data1
- psql -h localhost -U mike1 data1 (Menentukan kata sandi untuk pengguna mike1 untuk login)
Tampaknya pengguna baru "mike1" tidak memiliki masalah menghubungkan ke database "data1" dan membuat tabel dll. Dan ini tanpa menjalankan perintah GRANT sama sekali (dan pemilik "data1" adalah "postgres" karena saya tidak menentukan pemilik pada langkah 3). Apakah ini benar-benar cara kerjanya?
Yang ingin saya lakukan adalah memberikan mike1 akses penuh ke data1 dan kemudian ulangi ini untuk lebih banyak pengguna dan basis data, memastikan bahwa pengguna hanya memiliki akses ke satu (atau mungkin beberapa) basis data pilihan saya.