Buat baru, pengguna hanya-baca di postgres

9

Saya ingin membuat pengguna baru di postgresqlbasis data yang ada di mesin Ubuntu. Saya ingin memberi pengguna ini akses hanya baca ke semua tabel.

Bagaimana saya melakukannya? Apakah saya perlu membuat pengguna baru di Ubuntu juga?

Terima kasih,

Udi

Adam Matan
sumber

Jawaban:

20

Referensi diambil dari Artikel ini!

Skrip untuk Membuat Pengguna Hanya-Baca:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

Tetapkan izin untuk pengguna hanya baca ini:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;
Landasan
sumber
Impresif! Jawaban baru yang relevan setelah lebih dari 6 tahun.
Adam Matan
Setimpal. Ini adalah tautan teratas bagi saya ketika mencari "membuat pengguna read-only di Postgres". Artikel teratas yang memiliki contoh yang relevan adalah kemenangan dalam buku saya.
Audrius
3

Tidak perlu membuat pengguna baru di sistem operasi. Hanya masalah:

BUAT nama pengguna PENGGUNA

di psql (atau pgadmin, atau alat apa pun yang Anda suka) dan Anda akan memiliki pengguna baru. Akses apa yang dimiliki pengguna ini tergantung pada tabel apa yang Anda atur. Tetapi secara default, itu tidak akan memiliki izin pada tabel apa pun, jadi Anda harus memberikan ini. Jika Anda telah memberikan izin kepada grup publik, pengguna akan memiliki izin tersebut sejak awal.

Magnus Hagander
sumber