Saya berada di tengah-tengah migrasi server basis data dan saya tidak dapat menemukan (setelah googling dan mencari di sini) bagaimana saya bisa mendaftar hak istimewa basis data (atau semua hak istimewa di seluruh server) pada PostgreSQL menggunakan psql
alat baris perintah?
Saya menggunakan Ubuntu 11.04 dan versi PostgreSQL saya adalah 8.2.x.
postgresql
ubuntu
permissions
psql
pedrosanta
sumber
sumber
\z myTable
sangat cocok untuk memastikan bahwa Anda telah berhasil memberikan akses ke seseorang dan menghindari terlihat seperti orang bodoh ketika Anda mengatakan "oke apakah itu bekerja sekarang? itu tidak ??? "mungkin maksud Anda daftar pengguna dan hak istimewa mereka untuk database - Saya tidak bisa mengatakannya dari pertanyaan:
sumber
Anda dapat melakukannya dengan mengikuti:
Ini memberi Anda jenis output:
sumber
Menggunakan
psql
meta-perintah:https://www.postgresql.org/docs/current/static/app-psql.html
Pergi ke halaman dengan Ctrl + F memberi:
Disebutkan di atas, tetapi tidak ditemukan dengan kata "hak istimewa" pada halaman manual:
\du+
untuk peran dengan login dan\dg+
untuk peran tanpa - akan memiliki arsip di"Member of"
mana Anda menemukan peran yang diberikan kepada peran.Saya sengaja mengabaikan hak istimewa fungsi dan bahasa di sini, ditemukan dalam
psql
manual sebagai hampir tidak dimanipulasi (dan jika Anda memang menggunakan hak istimewa itu, Anda tidak akan datang ke sini untuk meminta saran). sama untuk tipe, domain, dan sebagainya yang ditentukan pengguna - menggunakan "+" setelah meta-command akan menunjukkan kepada Anda hak istimewa jika berlaku.Sedikit cara ekstrem untuk memeriksa hak istimewa adalah menjatuhkan pengguna dalam transaksi, misalnya:
Ketika daftar lebih panjang dari N, (setidaknya dalam 9,3), peringatan dengan daftar hak istimewa diciutkan, tetapi Anda masih dapat menemukannya penuh di log ...
sumber
Undercovers psql menggunakan kueri di bawah ini ketika Anda mengeluarkan
\du
perintah.sumber
Langkah tambahan (mungkin jelas) adalah menjadi pengguna postgres, jika tidak, Anda mungkin mendapatkan kesalahan tentang peran yang tidak ada.
atau
sumber
keluaran
sumber